تطوير المكدس الكامل

تطبيقات Django: كل ما تريد معرفته في عام 2021

- إعلان-

 

يعد Django من بين هياكل الثعبان الرائدة التي طورها المتخصصون والتي تحفز التخطيط العملي بالإضافة إلى التقدم السريع لمبرمجي الإنترنت. إنه سريع وآمن ومحبوب للغاية بين مبرمجي الإنترنت. لدى Django سجل كمبيوتر للتطبيقات التي تم إعدادها حاليًا والتي ترتبها المتاجر بالإضافة إلى المساعدة في تقديم الاستجواب الذاتي. يحتفظ بقائمة واسعة من الإصدارات المعروضة. يسمى تسجيل الكمبيوتر التطبيقات. يتم تقديم تطبيقات Django في "django.apps"

>>>>>> من تطبيقات استيراد django.apps

>>>>>> apps.get _ app_config ("admin"). مطول

' إدارة'

مشاريع Django

يمكن تسمية أي نوع من تطبيقات Django كمهمة. يتم تحديده بواسطة مكون الإعداد. ومع ذلك ، فهو يتكون من العديد من النقاط الأخرى المختلفة أيضًا. كمثال ، إذا قمت بتشغيل django-admin startproject mysite ، بعد ذلك ستحصل بالتأكيد على موقع دليل مهام mysite. سيتألف هذا بالتأكيد من حزمة mysite Python مع setting.py ، urls.py ، asgi.py وأيضا wsgi.py. يمكن إطالة أمد الحزمة للتأكد من أنها تتكون من CSS ومكوِّن بالإضافة إلى العديد من قوالب التصميم الأخرى غير المرتبطة بأي نوع من التطبيقات المعينة.

موقع الدليل الأصلي للمهمة أو الموقع الذي يحتوي على manage.py يتكون عادةً من جميع تطبيقات المهام التي لم يتم إعدادها بشكل فردي.

تطبيقات Django

يشير التطبيق إلى خطة بايثون لها بعض السمات. يمكن إعادة تدويرها في العديد من المهام. يمكن أن تكون التطبيقات مزيجًا من المشاهد والإصدارات وروابط السمات والبيانات الثابتة وما إلى ذلك. عادة ما تكون سلكية في المهام مع التطبيقات المثبتة يثبت. يمكن عادةً توصيله بأجهزة أخرى مختلفة مثل URLconfs وهو ملف MIDDLEWARE اقامة.

تطبيق Django عبارة عن مجموعة أكواد تقوم بتطوير الاتصالات مع العديد من المكونات لهيكل معين. لا يحتوي على أشياء تطبيق. في بعض الأحيان ، قد يحتاج Django إلى التعامل مع تطبيقات معينة للاستجواب الذاتي أو الترتيب. وبالتالي ، هناك بيانات وصفية في AppConfig لإعداد التطبيقات. يمكن أيضًا التفكير في حزمة المهام كتطبيق بالإضافة إلى أنها يمكن أن تحتوي على إصدارات إضافية. 

إعداد تطبيقات Django

إذا كنت ترغب في إعداد تطبيق ، فيجب عليك التقسيم AppConfig وبعد ذلك قم بتضمين سطر مأهول لذلك في تثبيت_تطبيقات. عندما يحصل على الخط المأهول ، يبدأ Django في البحث عن default_app_config عامل. بمجرد تحديده ، يأتي ليكون AppConfig التقسيم الفرعي لهذا التطبيق المعين. إذا كان الجواب لا default_app_config مصنوع ، بالتأكيد سوف يستخدم Django القاعدة AppConfig بالطبع. 

لكتاب تطبيقات Django

اسمح بالمطالبة بأنك تقوم بإنشاء تطبيق "Rock 'n' roll" قابل للتوصيل. بعد ذلك ، يمكنك إنشاء اسم بالطريقة التالية:

# rock_n_roll / apps.py

من django.apps استيراد AppConfig

دورة RockNRollConfig (AppConfig):

    الاسم = 'rock_n_roll'

    verbose_name = ”Rock 'n' roll”

ستتمكن بالتأكيد أيضًا من استخدامها كتقسيم فرعي AppConfig باستخدام:

# rock_n_roll / __ init __. السنة التحضيرية

default_app_config = 'rock_n_roll. التطبيقات. RockNRollConfig '

ومن ثم ، يمكن الاستفادة من RockNRollConfig عند وجود "rock_n_roll" في تطبيقات الإعداد. سيساعدك بالتأكيد على الاستفادة من سمات AppConfig دون أن يضطر العملاء إلى إجراء الترقية في INSTALLED_APPS. 

لأفراد التطبيق

ادعاء سمح له أنك تستخدم تطبيق Rock 'n' roll في مهمة تسمى الترجمة. في الوقت الحالي ، أنت ترغب في ظهوره كمنقوش جاز قبل ذلك. لذلك يمكنك الالتزام بهذه الإجراءات:

# مختارات / تطبيقات. السنة التحضيرية

من rock_n_roll. استيراد تطبيقات RockNRollConfig

دورة JazzManoucheConfig (RockNRollConfig):

    verbose_name = "جاز مانوش"

# مختارات / إعدادات. السنة التحضيرية

INSTALLED_APPS = [

    'anthology.apps.JazzManoucheConfig' ،

    #…

]

الدورة AppConfig

يتم حفظ المعدن الخاص بالتطبيق في عناصر ترتيب التطبيق. تم إعداد عدد قليل من هذه الخصائص في التقسيمات الفرعية AppConfig وكذلك تم إنشاؤها للقراءة فقط أو بواسطة Django.

خصائص قابلة للتكوين

AppConfig.name

بالطبع: django.contrib.admin

يساعد في تحديد التطبيق الذي يتم استخدام الترتيب فيه. تم إنشاؤه في التقسيمات الفرعية AppConfig. فريد من نوعه في مهمة Django.

AppConfig.label

الاسم: admin

يساعد في إعادة تسمية أحد التطبيقات خاصة إذا كان اثنان منهم بهما علامات متضاربة. يأتي ليكون آخر جزء من الاسم بشكل افتراضي. يجب أن يكون معرّفًا شرعيًا لـ Python. فريدة من نوعها في مهام Django.

AppConfig.verbose _ name

الاسم: الإدارة

افتراضات إلى: label.title ()

AppConfig.path

مثيل موقع دليل التطبيق: '/ usr / lib / pythonX. Y / dist -packs / django / Contrib / admin '

في معظم الحالات ، يمكن لـ Django اكتشافها وتثبيتها على الفور ، ولكن يمكنك تجاوز ميزة الدورة التدريبية بوضوح عبر تقسيم AppConfig الفرعي. 

خصائص القراءة فقط

AppConfig.module

نسخة مكون الأصل: << component 'django.contrib.admin' من 'django / Contrib / admin / __ init __. الحمر '>>

AppConfig.models _ مكون

مكون مع نسخة من الإصدارات: << component 'django.contrib.admin.models' من 'django / Contrib / admin / Models.py' >>

يمكن أن يكون "لا شيء" أيضًا إذا لم يكن مكونًا من إصدارات.

تقنيات

AppConfig.get _ version ()

من المؤكد أنه سيساعد في إعادة دورة الإصدار القابلة للتكرار للتطبيق. ومن المؤكد أنها ستدعو إلى أن يكون تسجيل الكمبيوتر الخاص بالتطبيق مأهولًا بالكامل.

AppConfig.get _ version

إرجاع إصدار معين غير حساس لحالة الأحرف: اسم_النموذج. اسم النموذج

يساعد على زيادة خطأ البحث في حالة عدم وجود إصدار معين. ومن المؤكد أنها ستدعو إلى أن يكون تسجيل الكمبيوتر الخاص بالتطبيق مأهولًا بالكامل.

AppConfig.ready ()

يمكن أن يساعد في تجاوز التقنية وكذلك القيام بوظائف التهيئة مثل إشارات التسجيل. يمكن استدعاؤه بمجرد أن يكون سجل الكمبيوتر مأهولًا بالكامل. ومع ذلك ، لا يمكنك استيراد إصدارات بدرجة المكون حيث يتم تحديد دورات AppConfig. يمكنك استيرادها ، مع ذلك ، في كل مجموعة () ، والتي تستخدم get_model () أو بيان الاستيراد. 

يتم استخدام حزم Namespace كتطبيقات

عندما لا تحتوي حزمة Python على __ init __. py ، يشار إليها باسم حزم مساحة الاسم. يمكن نشرها عبر العديد من مواقع الدليل بالإضافة إلى المناطق الموجودة على sys.path. سيحتاج تطبيق Django بالتأكيد إلى نظام مستندات قاعدة بيانات حيث سيبحث Django بناءً على الترتيب بالتأكيد عن الخصائص الثابتة وقوالب التصميم وما إلى ذلك. وبالتالي ، يمكن الاستفادة من تطبيق Django إذا كان من بين هذه الحالات:

  • تحتوي حزمة Namespace على مكان واحد منعزل.
  • تحتوي دورة AppConfig التي يتم استخدامها لإعداد التطبيق على ميزة الدورة التدريبية.

إذا لم يتم حل أي من المشاكل ، فبعد ذلك سيكشف Django بالتأكيد غير مهيأ بشكل صحيح.

سجل حاسوب تطبيقات Django

يتم تقديم واجهة برمجة تطبيقات عامة محددة بواسطة سجل كمبيوتر التطبيق. هذه عدة طرق ، على الرغم من أنها قد تتحول:

تطبيقات جاهزة

عند إنشاء ميزة Boolean على Real وكذلك يتم تشغيل سجل الكمبيوتر بالكامل وكذلك يتم استدعاء جميع أساليب AppConfig.ready ().

apps.get _ app_configs ()

من المؤكد أنها ستعيد نسخة متكررة من AppConfig الظروف.

apps.get _ app_config (app_label)

سيعيد بالتأكيد AppConfig للتطبيق الذي يحتوي بالفعل على app_label مقدم. في حالة عدم وجود تطبيق ، سيؤدي بالتأكيد إلى زيادة "خطأ البحث".

apps.is _ إعداد ( اسم التطبيق)

من المؤكد أنه سيتم فحص ما إذا كان هناك اسم للتطبيق المعروض في سجل الكمبيوتر هنا والآن. سيكون app_name اسمًا كاملاً للتطبيق ، على سبيل المثال: django.contrib.admin

apps.get _ الإصدار ( app_label, اسم النموذج, need_ready = حقيقي)

سيعيد بالتأكيد الإصدار مع model_name المعروض وكذلك app_label. في حالة عدم وجود تطبيق ، سيؤدي بالتأكيد إلى زيادة "خطأ البحث".

إجراء التهيئة

لذا ، فإن الاهتمام حاليًا هو كيفية إجراء الكثير من تطبيقات django. عند بدء تشغيل Django ، سيشغل django.setup () بالتأكيد سجل الكمبيوتر. 

ترتيب( set_prefix = حقيقي)

تجري ترتيبات Django:

  • عن طريق التحميل الأول للإعدادات
  • تأسيس التسجيل
  • إذا ثبتت صحة set_prefix ، فستكون بادئة مخطوطة LINK المسدس FORCE_SCRIPT_NAME إذا تم تحديدها أو غير ذلك.
  • تم تمهيد تسجيل كمبيوتر التطبيق.

يتم إجراء مكالمة هاتفية تلقائية للميزة:

  • عندما يمر خادم الويب HTTP بمساعدة WSGI من Django
  • عندما يتم استحضار أمر المراقبة.

استكشاف

بعض المشكلات المعتادة التي يمكن أن يواجهها المرء هي:

  • AppRegistryNotReady: يحدث خلال استيراد تكوين تطبيق أو يقوم مكون الإصدارات بتنشيط التعليمات البرمجية التي لا تعتمد على تسجيل جهاز الكمبيوتر الخاص بالتطبيق. إذا قمت بتنفيذ استعلامات مصدر البيانات باستخدام ORM ، فقد تحدث هذه المشكلة.
  • خطأ استيراد: لا يمكن استيراد الاسم ... - يحدث عندما تنتهي سلسلة الاستيراد بثغرة. يمكنك التخلص من الإجراء عن طريق تقليل الارتباطات بين مكونات الإصدارات.
  • Django Contrib.admin أسباب الاستكشاف الآلي لمكونات الإدارة. التعديل INSTALLED_APPS من django.contrib.admin إلى django.contrib.admin.apps.SimpleAdminConfig لإيقافه.

من الناحية المثالية ، يمكنك حاليًا دمج تطبيقات Django في تقدمك على الإنترنت بسرعة.

تابعونا على Instagram (uniquenewsonline) والفيسبوك (uniquenewswebsite) للحصول على تحديثات إخبارية منتظمة مجانًا

مقالات ذات صلة