"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > جانغو للجميع.

جانغو للجميع.

تم النشر بتاريخ 2024-09-05
تصفح:430

Django is for everyone.

يعد Django رائعًا حتى بالنسبة لمواقع الويب "الصغيرة".

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

لماذا جانجو؟

يعتبر جانغو إطار عمل "متضمن بالبطاريات"، وهذه البطاريات رائعة. هذه هي الأشياء التي تجعلني أستخدم Django بدلاً من أي إطار عمل آخر.

مخطط الكائنات العلائقية (ORM)

يعد Django ORM سببًا كبيرًا لاستخدام إطار العمل. أنا مندهش من عدم احتواء جميع أطر عمل الويب على ORM. إلا إذا كنت من محبي كتابة SQL من الصفر، فهذه هي الطريقة الصحيحة لإنشاء التطبيقات. يمكنك تحديد النماذج، وإنشاء عمليات ترحيل قاعدة البيانات من تلك النماذج (في الغالب تلقائيًا)، وتشغيل عمليات الترحيل على قاعدة البيانات الخاصة بك وتصبح جاهزًا للبدء! لا داعي لكتابة نماذج نصف مؤكدة بالإضافة إلى سلسلة من عمليات الترحيل حيث يمكنك نوعاً ما استقراء المخطط2. جميع المعلومات التي تحتاجها حول بياناتك موجودة في ملفmodels.py الخاص بك وكل شيء يتدفق من ذلك.

المشرف

هذا هو الشيء الكبير. إنه ليس نظام إدارة محتوى؛ إنها أكثر من واجهة المستخدم الرسومية لـ ORM. بعد تحديد النماذج الخاصة بك، يمكنك، من خلال تكوين قليل جدًا، إدارة تلك البيانات دون الحاجة إلى كتابة أي كود CRUD. إنها ليست الواجهة الأمامية لتطبيقك. إنه ليس نظام إدارة محتوى للمستخدمين النهائيين (على الأرجح). إنها طريقة يمكن للمسؤولين من خلالها إجراء تغييرات على الموقع بسهولة.

التحسين التدريجي

هذا قريب جدًا وعزيز على قلبي، ولكن يبدو أن معظم بقية صناعتنا قد نسيت. ببساطة؛ يجب أن تكون وظائف المستوى الأساسي ممكنة حتى في حالة فشل JavaScript. يجب أن يكون تطبيقك قادرًا على الأقل على العمل بدون البرمجة النصية للواجهة الأمامية. القيام بذلك مع منتجع صحي هو كابوس. إن القيام بذلك باستخدام إطار عمل خلفي حقيقي بالإضافة إلى أداة مثل htmx أو Unpoly أمر تافه. كل ما عليك فعله هو تغيير وجهة نظرك من الوضع الراهن إلى المنطق السليم.

المفاهيم التي يجب وضعها في الاعتبار

إم تي في

بينما تستخدم أطر التطبيقات التقليدية نمط تصميم النموذج والعرض ووحدة التحكم؛ يقوم جانغو بتسمية عناصره بشكل مختلف قليلاً.

  • نموذج
    • حسنًا، هذا هو نفسه.
  • نموذج
    • هذا يعادل العرض التقليدي .
  • منظر
    • هذا يعادل في الغالب وحدة التحكم التقليدية.

ترحيل قاعدة البيانات

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

./manage.py makemigrations
# It tells you what it did.

./manage.py migrate
# Database updated!

هذا كل شيء! ?

كيف تبدأ

بليز.حصان

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

حتى إذا لم ينتهي بك الأمر إلى استخدام المجموعة بأكملها، فإنني أحثك ​​على إلقاء نظرة على التقنيات التي أستخدمها في الكود. هذه أشياء تم الحصول عليها بشق الأنفس بعد استخدام Django منذ بدايته تقريبًا. لقد مررت بمرحلة استخدامه مع Docker وPostgres، لكنني أعتقد حقًا أن هذه هي الطريقة لـ 99٪ من الأشخاص الذين يرغبون في تجربة Django. SQLite مدهش.

النشر

لسوء الحظ، هذا هو الجانب السلبي الرئيسي لاختيار Django على الخيارات الأخرى التي تستهدف المواقع الشخصية. مع Blaze.horse، حاولت أن أجعلك تقضي وقتًا سهلاً، لكنه لا يزال أكثر عبثًا مما ينبغي. هناك بعض المشاريع الصاعدة التي تمنحني الأمل، مثل Button وAppliku، لكنني شخصيًا سعيد بـ Fly في الوقت الحالي.

الخطوات التالية

بعد قراءة هذا، أتمنى أن تضع جانغو في الاعتبار في المرة القادمة التي تحتاج فيها إلى بناء شيء ما. اسمحوا لي أن أعرف إذا كان بإمكاني المساعدة!


  1. إذا كنت بحاجة إلى نظام إدارة المحتوى (CMS)، فيجب عليك استخدام Kirby.

    بالتأكيد لا ينبغي أن تستخدم منشئ موقع ثابت إذا كنت بحاجة إلى نظام إدارة المحتوى. مدارس المزارعين الحقلية ↩

  2. لارافيل ↩

بيان الافراج تم نشر هذه المقالة على: https://dev.to/battlecat/django-is-for-everyone-3dkp?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3