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

فهم بنية جانغو: نمط MTV.

تم النشر بتاريخ 2024-11-02
تصفح:782

Understanding Django’s Architecture: The MTV Pattern.

يتبع Django نمط MTV (نموذج عرض القالب) لتطوير الويب. وفيما يلي تفصيل لكل مكون:

النموذج: يحدد بنية البيانات الخاصة بك ويتعامل مع التفاعل مع قاعدة البيانات، مما يسمح لك بتخزين البيانات واسترجاعها دون كتابة استعلامات SQL يدويًا.

القالب: مسؤول عن تقديم HTML وتقديم البيانات للمستخدم. تكتب HTML مختلطًا مع لغة قالب Django (DTL) لعرض المحتوى الديناميكي.

عرض: بمثابة طبقة منطق الأعمال. فهو يربط النموذج والقالب، ويتعامل مع طلبات المستخدم، ويتفاعل مع النموذج، ويعيد الاستجابة (غالبًا ما يتم تقديم HTML من القالب).

كيف تعمل دورة الاستجابة للطلب في جانغو:

  • يطلب المستخدم صفحة ويب (عبر عنوان URL).
  • يطابق Django عنوان URL للعرض.
  • يقوم العرض بجلب البيانات من النموذج وتمريرها إلى القالب.
  • يقوم القالب بتحويل البيانات إلى HTML ويرسلها مرة أخرى كرد على المستخدم.

الخطوة 1: إنشاء تطبيق جديد في جانغو.
بمجرد قيامك بإعداد Django (كما تم تناوله في المقالة السابقة)، فلنقم بإنشاء تطبيق جديد في مشروعك.

قم بتشغيل هذه الأوامر:

cd mysite
python3 manage.py startapp core

يؤدي هذا إلى إنشاء تطبيق يسمى core داخل مشروع mysite الخاص بك. يجب أن تبدو بنية ملفك الآن كما يلي:

.
├── core
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── manage.py
└── mysite
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

الخطوة 2: قم بتسجيل تطبيقك في ملف الإعدادات.
لإعلام Django بالتطبيق الجديد، يلزمك إضافته إلى INSTALLED_APPS في mysite/settings.py:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'core',  # add this line
]

الخطوة 3: إنشاء عرض أساسي.
لنقم بإنشاء طريقة عرض بسيطة تُرجع رسالة "Hello, World!" رسالة.

افتح view.py داخل التطبيق الأساسي وأضف الكود التالي:

from django.http import HttpResponse

def learn(request):
    return HttpResponse("Hello, World!")

الخطوة 4: تعيين عناوين URL للعرض.
للوصول إلى هذا العرض عبر عنوان URL، تحتاج إلى تعيينه في الملف core/urls.py. أنشئ هذا الملف إذا لم يكن موجودا وأضف ما يلي:

from django.urls import path
from . import views

urlpatterns = [
    path('learn/', views.learn, name='learn'),
]

بعد ذلك، قم بتضمين عناوين URL للتطبيق الأساسي في ملف mysite/urls.py الرئيسي:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('core/', include('core.urls')),  # include the core app URLs
]

الآن، إذا قمت بتشغيل الخادم وقمت بزيارة http://127.0.0.1:8000/core/learn/، فيجب أن تشاهد "Hello, World!" معروض.
الخطوة 5: إنشاء قالب وعرضه

from django.shortcuts import render

def learn(request):
    context = {'name': 'Django'}
    return render(request, 'hello.html', context)

يقوم هذا العرض الآن بتمرير متغير (اسم) إلى قالب يسمى hello.html.
الخطوة 6: إنشاء دليل القالب وملف HTML.
في تطبيقك الأساسي، أنشئ مجلد قوالب وملف hello.html:

mkdir core/templates
touch core/templates/hello.html

داخل hello.html، أضف كود HTML التالي



    Hello Template

Hello, {{ name }}!

عند زيارة عنوان URL للتعلم مرة أخرى، يجب أن ترى الآن "مرحبًا، جانغو!" في المتصفح.

الخطوة 7: إنشاء نموذج أساسي.
لنقم بإنشاء نموذج نشر بسيط لتخزين منشورات المدونة.

في core/models.py، أضف الكود التالي:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()

    def __str__(self):
        return self.title

يحتوي نموذج Postmodel هذا على حقلين: العنوان والمحتوى. تضمن الطريقة __str__ عرض كائنات النشر مع عناوينها في مسؤول Django أو shell

الخطوة 8: تطبيق النموذج على قاعدة البيانات.
لإنشاء الجدول المقابل في قاعدة البيانات، قم بتشغيل هذه الأوامر:

python3 manage.py makemigrations
python3 manage.py migrate

سيقوم Django الآن بإنشاء جدول قاعدة بيانات لنموذج Post.

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

بيان الافراج تم نشر هذه المقالة على: https://dev.to/vincenttommi/2-understanding-djangos-architecture-the-mtv-pattern-1gl?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3