في المدونة السابقة، قمنا بإعداد بيئة التطوير الخاصة بنا وأنشأنا مشروع وتطبيق Django الأساسي. الآن، حان الوقت للتعمق أكثر في الجوانب الأساسية لـ Django، بما في ذلك هيكل المشروع، وبنية Model-View-Template (MVT)، وواجهة إدارة Django. بنهاية هذه التدوينة، يجب أن يكون لديك فهم قوي لهذه المفاهيم وأن تكون جاهزًا لإنشاء تطبيق مدونة بسيط.
ستتعمق هذه المدونة في الجوانب الأساسية لـ Django، بما في ذلك هيكل المشروع، وهندسة MVT، وواجهة إدارة Django.
يعد فهم بنية مشروع Django أمرًا بالغ الأهمية للتنقل وتنظيم التعليمات البرمجية الخاصة بك بشكل فعال. عندما تقوم بإنشاء مشروع وتطبيق Django جديد، يتم إنشاء بنية الدليل التالية:
myproject/ manage.py myproject/ __init__.py settings.py urls.py wsgi.py asgi.py blog/ __init__.py admin.py apps.py models.py tests.py views.py migrations/
يتبع Django بنية Model-View-Template (MVT)، وهي عبارة عن اختلاف في نمط MVC. تعمل هذه البنية على تعزيز الفصل الواضح بين الاهتمامات، مما يجعل التعليمات البرمجية الخاصة بك أكثر تنظيمًا وقابلية للصيانة.
تحدد النماذج بنية جداول قاعدة البيانات الخاصة بك. كل نموذج هو فئة بايثون التي تصنف إلى فئات فرعية django.db.models.Model.
# blog/models.py from django.db import models class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() published_date = models.DateTimeField(auto_now_add=True) def __str__(self): return self.title
تتعامل طرق العرض مع المنطق ومعالجة البيانات لتطبيقك. إنهم يتلقون الطلبات ويتفاعلون مع النماذج ويعيدون الردود.
# blog/views.py from django.shortcuts import render from .models import Post def home(request): posts = Post.objects.all() return render(request, 'blog/home.html', {'posts': posts})
تحدد القوالب بنية HTML وعرض صفحات الويب الخاصة بك. ويمكن أن تتضمن محتوى ديناميكيًا باستخدام علامات ومرشحات قالب Django.
Blog Home Blog Posts
{% for post in posts %}{{ post.title }}
{{ post.content }}
Published on: {{ post.published_date }}
{% endfor %}
لتعيين عناوين URL لطرق العرض، يجب تكوين أنماط URL في urls.py.
# myproject/urls.py from django.contrib import admin from django.urls import path from blog import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.home, name='home'), ]
تعد واجهة إدارة Django أداة قوية لإدارة بيانات تطبيقك دون كتابة أي تعليمات برمجية إضافية. يقوم تلقائيًا بإنشاء واجهة سهلة الاستخدام لنماذجك.
# blog/admin.py from django.contrib import admin from .models import Post admin.site.register(Post)
python manage.py createsuperuser
هذه نظرة عامة على عملية كتابة تطبيق في جانغو. ترقبوا الجزء التالي من السلسلة، حيث سنطبق ما تعلمناه لإنشاء تطبيق مدونة بسيط.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3