اذهب إلى المحتوى

السؤال

نشر

السلام عليكم ورحمة الله وبركاتة 

احبائي اريد معرفة كيف يمكنني ربط تطبيق هاتف وبرنامج سطح مكتب وموقع الكتروني ببعضهما البعض وقاعدة بيانات واحدة..!

هو برنامج سطح مكتب المستخدم يستطيع تسجيل الدخول في البرنامج وكذلك جلب داتا عبارة عن اسعار واسماء عملاء

هواريد ان اقوم بعمل موقع الكتروني مربوط بالبرنامج اي مثلا عندما يدخل العميل علي الموقع ويضع نفس الحساب وكلمة المرور يعرض له نفس البيانات التي كانت ببرنامج سطح المكتب وكذلك تطبيق هاتف مربوط بنفس القاعدة ويجلب نفس البيانات . كيف يمكنني فعل ذلك ؟ 

مع العلم اللغة المستخدمة Python ..!

Recommended Posts

  • 0
نشر

مرحبًا @محمد اسماعيل8,

يمكنك الربط بين موقع الكتروني و تطبيق جوال بإنشاء Rest API على قاعدة البيانات , Rest Api هي تقنية تمكنك من تحديث قاعدة البيانات بطريقة مرنة و ثلثة مما يتيح لك ربط هذه البرامج مع قاعدة بيانات واحدة , اقرأ المزيد عنها من هنا .

أولاً بما أنك تستخدم Python قم بإنشاء Rest Api بإستخدام إطار Django مع المكتبة rest framework , من ذلك يمكنك عمل موقع و تطبيق يقمان بتعامل مع  Rest Api للعمل على قاعدة بيانات واحدة , يفضل إستخدام قاعدة البيانات Mysql او PostgreSql .

في هذه المرحلة يتوفر لنا قاعدة بيانات على السيرفر , مع الإتصال على الإنترنت يمكن لبرنامج سطح المكتب التواصل مع قاعدة البيانات .

 

 

  • 0
نشر

يمكنك ببساطة تعريف نفس قاعدة البيانات في كل مشروع في  DATABASES في settings.py.

إذا كانت قاعدة البيانات التي تستخدمها هي PostgreSQL, يمكنك تجربة الطريقة التالية:   

# in project_1/settings.py

DATABASES = {
    'default': {
        'NAME': 'common_db',
        'ENGINE': 'django.db.backends.postgresql',
        'USER': 'project_1_user',
        'PASSWORD': 'strong_password_1'
    },
}

# in project_2/settings.py

DATABASES = {
    'default': {
        'NAME': 'common_db',
        'ENGINE': 'django.db.backends.postgresql',
        'USER': 'project_2_user',
        'PASSWORD': 'strong_password_2'
    },
}

 

لاحظ أن كلًا من ال project_1_user and project_2_user" database users"  يجب أن يمتلك الإمتيازات الخاصة به في قاعدة البيانات التي تستخدمها أو يمكنك إستخدام نفس ال user لكلٍ من المشروعين.

إذا كنت تريد إستخدام أكثر من قاعدة بيانات للمشروع الواحد , يمكنك الإطلاع على التوثيق لمعرفة كيف يتم ذلك.

 من جهة أخرى بما أنك تريد أن تشارك البيانات بين هذه التطبيقات, يمكنني التخمين أنك تريد مشاركة ال functionalities كذلك. فعلى سبيل المثال إذا كان project_1_app و project_2_app يفعلان نفس الوظائف (أو وظانف متشابهة)  يمكنك بناء تطبيق واحد يمكن إعادة إستخدامه.

 أو يمكنك إستخدام ما يسمى ب Data access layer و هي طريقة تبسط الوصول إلى البيانات الخزنة في قواعد البيانات

 

  • 0
نشر
بتاريخ On 8/3/2020 at 12:19 قال Yomna Raouf:

يمكنك ببساطة تعريف نفس قاعدة البيانات في كل مشروع في  DATABASES في settings.py.

إذا كانت قاعدة البيانات التي تستخدمها هي PostgreSQL, يمكنك تجربة الطريقة التالية:   


# in project_1/settings.py

DATABASES = {
    'default': {
        'NAME': 'common_db',
        'ENGINE': 'django.db.backends.postgresql',
        'USER': 'project_1_user',
        'PASSWORD': 'strong_password_1'
    },
}

# in project_2/settings.py

DATABASES = {
    'default': {
        'NAME': 'common_db',
        'ENGINE': 'django.db.backends.postgresql',
        'USER': 'project_2_user',
        'PASSWORD': 'strong_password_2'
    },
}

 

لاحظ أن كلًا من ال project_1_user and project_2_user" database users"  يجب أن يمتلك الإمتيازات الخاصة به في قاعدة البيانات التي تستخدمها أو يمكنك إستخدام نفس ال user لكلٍ من المشروعين.

إذا كنت تريد إستخدام أكثر من قاعدة بيانات للمشروع الواحد , يمكنك الإطلاع على التوثيق لمعرفة كيف يتم ذلك.

 من جهة أخرى بما أنك تريد أن تشارك البيانات بين هذه التطبيقات, يمكنني التخمين أنك تريد مشاركة ال functionalities كذلك. فعلى سبيل المثال إذا كان project_1_app و project_2_app يفعلان نفس الوظائف (أو وظانف متشابهة)  يمكنك بناء تطبيق واحد يمكن إعادة إستخدامه.

 أو يمكنك إستخدام ما يسمى ب Data access layer و هي طريقة تبسط الوصول إلى البيانات الخزنة في قواعد البيانات

 

ممكن التوضيح اكثر

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...