10 نصائح مفيدة للمبتدئين لتعلم Django









1. استخدم المسارات النسبية في التكوين



لا تحدد مسارًا مطلقًا في settings.py



، فسيكون مفيدًا إذا كنت ستقوم لاحقًا بتشغيل المشروع من مواقع مختلفة ، على سبيل المثال ، عند النشر إلى خادم ويب آخر بمسارات مختلفة. استخدم الكود التالي في settings.py إذا كانت القوالب والملفات الثابتة موجودة داخل دليل مشروع Django:



# settings.py
import os
PROJECT_DIR = os.path.dirname(__file__)
...
STATIC_DOC_ROOT = os.path.join(PROJECT_DIR, "static")
...
TEMPLATE_DIRS = (
    os.path.join(PROJECT_DIR, "templates"),
)
      
      







2. استخدم علامة {٪ url٪}



بدلاً من تشفير الروابط الخاصة بك ، حاول استخدام علامة متوافقة مع الإصدارات السابقة {% url %}



. سيعطيك هذا عنوان URL مطلقًا ، ولكن إذا تم نقل المشروع ، فستظل الروابط صالحة.



بشكل أساسي ، {% url %}



يأخذ اسم العرض ومعلماته ويقوم بالبحث العكسي لإرجاع عنوان URL المطلوب. إذا قمت بإجراء تغييرات على urls.py فلن تنقطع الروابط.



3. استخدم مدير Django لتطبيقات PHP



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



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



4. استخدم خادمًا منفصلاً للمعالجة الثابتة



يسمح لك Django باستضافة ملفات ثابتة في بيئة التطوير الخاصة بك ، ولكن ليس في بيئة الإنتاج الخاصة بك.



تم تصميم Django ليخلصك من نفسك. إذا حاولت استخدام الملفات الثابتة من نفس مثيل Apache الذي يخدم Django ، فستفقد الأداء.

يعيد Apache استخدام العمليات بين كل طلب ، لذلك بمجرد أن تخزن العملية جميع التعليمات البرمجية والمكتبات الخاصة بـ Django مؤقتًا ، فإنها تظل في الذاكرة. وإذا لم تستخدم هذه العملية

لمعالجة طلب Django ، فسوف تضيع كل هذه الذاكرة.



في حالة استخدام خادم منفصل (أو مضيف افتراضي) للتعامل الثابت ، فلن يتأثر أداء التطبيق الخاص بك.



5. استخدم شريط أدوات التصحيح Django.



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



يتيح لك شريط أدوات تصحيح أخطاء Django عرض جميع استعلامات SQL التي تم تنفيذها أثناء تقديم العرض ويمكنك أيضًا عرض تتبع التراص لأي منها.



6. اختبار وحدة Django



يعد اختبار الوحدة طريقة جيدة للتأكد من أن تغييرات التعليمات البرمجية الخاصة بك تعمل كما هو متوقع ولا تكسر الكود السابق. أحد الأشياء الرائعة في Django هو أن كتابة اختبارات الوحدة سهلة للغاية. يوفر Django القدرة على استخدام عقيدة أو غير ملائمة مباشرة خارج الصندوق ، وتحتوي وثائق Django على برامج تعليمية رائعة وأمثلة على التعليمات البرمجية حول كيفية إعداد اختبارات الوحدة لجعل العثور على الأخطاء أسهل.



7. تصور النماذج



قم بتثبيت Django Command Extensions و pygraphviz ثم استخدم الأمر التالي للحصول على تصور جيد لنماذج المشروع في Django:



./manage.py graph_models -a -g -o my_project.png
      
      





8. برنامج Virtualenv



Virtualenv + Python = عصا سحرية. سيقوم برنامج Virtualenv بعزل إعدادات Python / Django لكل مشروع فردي. هذا يعني أن التغييرات في موقع واحد لن تؤثر على المواقع الأخرى. يمكن أن يكون مفيدًا أيضًا عندما تحتاج إلى الاحتفاظ بإصدارات مختلفة من Django أو python على الخادم.



9. استخدم Memcache



عندما يكون الأداء الضعيف مشكلة ، فمن المرجح أنك تريد تثبيت نوع من نظام التخزين المؤقت. يقدم Django العديد من الخيارات للتخزين المؤقت ، لكن memcached هو الأفضل بكثير.

يعد تثبيت واستخدام memcached أمرًا سهلاً إذا كنت تستخدم وحدة cmemcache. بعد تثبيت الوحدة ، ستحتاج إلى إضافة سطر واحد إلى التكوين لجعل صفحاتك تعمل بشكل أسرع.



10. التحميل التلقائي للعلامات المخصصة التي يمكن استخدامها في جميع القوالب



from django import template
template.add_to_builtins('project.app.templatetags.custom_tag_module')
      
      





إذا أضفت هذا إلى الوحدة التي يتم تحميلها افتراضيًا (settings.py ، urls.py ، كل تطبيق طرازات. py) ، سيكون لديك حق الوصول إلى جميع العلامات والفلاتر من الوحدة النمطية المخصصة الخاصة بك في أي قالب ، دون استخدام {% load custom_tag_module %}



. يمكن أن تكون



الحجة template.add_to_builtins()



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

على سبيل المثال ، يمكن أن تكون أيضًا وحدة نمطية موجودة في جذر المشروع (على سبيل المثال: " project.custom_tag_module



").



هل يستحق تعلم Django في 2020؟



إذا كنت مبرمجًا مبتدئًا تتساءل: هل يجب أن أتعلم Django؟ الإجابة القصيرة هي نعم.



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



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

يحتوي الإطار على مكتبات وأدوات تتيح لك إجراء عمليات متنوعة ومعالجة عدد كبير من طلبات المستخدمين بكفاءة في الوقت الفعلي.

لذلك ، تصبح عملية التطوير سريعة لأنك لست بحاجة إلى إنشاء كل مكون من البداية.



فوائد Django



1. سريع



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



2. آمن



عندما يتعلق الأمر بالأمان ، يسمح لك إطار العمل بعدم التدخل وتجنب العديد من المشكلات الأمنية ، مثل حقن SQL ، و XSS ، و CSRF ، بسبب أخطاء المبرمج المحتملة.



3. لوحة الإدارة



يحتوي إطار العمل على الفور على لوحة إدارة ونظام ترخيص ، مما يتيح لك توفير الوقت في إدارة المستخدم وإنشاء لوحة إدارة منفصلة للواجهة الخلفية.



4. قابلة للتطوير



إطار العمل مناسب للمشاريع بدرجات متفاوتة من عبء العمل ، وإذا كان مشروع صغير قد ينمو في المستقبل ، فلا توجد مشكلة - يتوسع Django بشكل مثالي في ظل أعباء العمل الثقيلة.



5. علم البيانات والتحليلات



نحن نعلم بالفعل أن Django مبني في Python ، وتشتهر Python بكونها أداة رائعة لبناء المشاريع باستخدام الذكاء الاصطناعي والتعلم الآلي. وبالتالي ، إذا كنت تخطط لدمج التعلم الآلي في مشروعك أو تحليل ومعالجة كميات كبيرة من المعلومات ، فعليك بالتأكيد تجربة Django.



6. دعم المجتمع



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



بداية سريعة



من أجل البدء فورًا في الترميز على Django مع فريق واختباره ، قمت ببناء وتحميل صورة VPS في السوق بمشروع Django 3.1.3 فارغ و



  • خادم HTTP Gunicorn 20.0.4
  • Nginx 1.14.1 كوكيل عكسي
  • وخادم قاعدة بيانات Postgresql 12.1.










ستكون تكلفة هذا الخادم 769 روبل شهريًا - 538 روبل ، إذا تم دفعها لمدة عام.



واكتب حيلك المفضلة عند العمل مع Django في التعليقات - دعنا نحاول جمع منشور من النصائح.










All Articles