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

فهم أساسيات جانغو

تم النشر بتاريخ 2024-07-31
تصفح:376

Understanding Django Fundamentals

في المدونة السابقة، قمنا بإعداد بيئة التطوير الخاصة بنا وأنشأنا مشروع وتطبيق Django الأساسي. الآن، حان الوقت للتعمق أكثر في الجوانب الأساسية لـ Django، بما في ذلك هيكل المشروع، وبنية Model-View-Template (MVT)، وواجهة إدارة Django. بنهاية هذه التدوينة، يجب أن يكون لديك فهم قوي لهذه المفاهيم وأن تكون جاهزًا لإنشاء تطبيق مدونة بسيط.

ملخص

ستتعمق هذه المدونة في الجوانب الأساسية لـ Django، بما في ذلك هيكل المشروع، وهندسة MVT، وواجهة إدارة Django.

المواضيع التي تمت تغطيتها

  • هيكل مشروع جانغو
  • النماذج وطرق العرض والقوالب (MVT)
  • مشرف جانغو

أهداف

  • فهم بنية 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/

  • manage.py: أداة مساعدة لسطر الأوامر تساعد في إدارة مشروع Django.
  • myproject/: دليل المشروع الرئيسي الذي يحتوي على الإعدادات والتكوين.
  • settings.py: إعدادات التكوين للمشروع.
  • urls.py: إعلانات URL للمشروع.
  • wsgi.py وasgi.py: نقاط الإدخال لخوادم الويب المتوافقة مع WSGI/ASGI.
  • blog/: دليل تطبيق Django يحتوي على ملفات خاصة بالتطبيق.

النماذج وطرق العرض والقوالب (MVT)

يتبع 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 لطرق العرض، يجب تكوين أنماط 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

  • الوصول إلى واجهة المسؤول: ابدأ تشغيل خادم التطوير وانتقل إلى http://127.0.0.1:8000/admin/. قم بتسجيل الدخول باستخدام بيانات اعتماد المستخدم المتميز لإدارة بياناتك.

خاتمة

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

بيان الافراج تم نشر هذه المقالة على: https://dev.to/kihuni/understanding-django-fundamentals-27h0?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3