مقدمة الى دجانغو - Django intro

hocine
Hocine G
Back-end Developer (Python/Django)
06/01/2026 |برمجة 💻
مقدمة الى دجانغو - Django intro

هو إطار عمل ويب مكتوب بلغة بايثون, يمكننا من إنشاء مواقع ويب بسرعة. يحتوي على ميزات كثيرة مدمجة مثل المصادقة (User authentication) , نظام الادارة…

ما سوف نتعرف عليه

  • تثبيت Django
    • الأدوات اللازمة
  • Model
    • يحدد بنية البيانات ويدير قاعدة البيانات.
  • Template
    • يتولى طبقة العرض (HTML) ويحدد كيفية عرض البيانات.
  • View
    • يحتوي على المنطق, ويتفاعل مع Objects، ويعيد الاستجابات عبر القوالب (HTML Templates) .
 

تثبيت Django

تثبيت Django

بعد تحميل بايثون نقوم بانشاء بيئة بايثون نسميها env بالأمر:
python -m venv env
ثم نقوم بتثبيت Django بالأمر:
python -m pip install Django
الان قمنا بتثبيت دجانغو. الخطوة التالية هي انشاء مشروع دجانغو لكن قبل ذلك لنعرف معا ما الفرق بين مشروع و تطبيق في دجانغو.
 
Projects vs. Apps – الفرق بين المشروع و التطبيق:
  • مشروع في دجانغو يتكون من مجموعة من الإعدادات والتطبيقات لموقع ويب معين.
  • التطبيق في دجانغو يمكن ان يكون في عدة مشاريع.

انشاء مشروع Django  جديد:

لانشاء مشروع جديد باسم mysite نقوم بالأمر: 

django-admin startproject mysite

 للتاكد من التطبيق يعمل نقوم بالامر: 

python manage.py runserver
بعد تنفيذ الامر سوف يضهر لنا:
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
January 06, 2026 - 20:24:49
Django version 5.1.1, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
تجاهل التحذير بشأن عمليات ترحيل قاعدة البيانات غير المطبقة في الوقت الحالي؛ سنتعامل معها لاحقا.
نقوم بزيارة الرابط http://127.0.0.1:8000/. سوف تضهر لنا هذه الصفحة:
 
 
لقد قمت بتشغيل خادم تطوير Django، وهو خادم ويب خفيف الوزن مكتوب بلغة Python فقط. تم إدرجه مع Django لتتمكن من تطوير تطبيقاتك بسرعة، دون الحاجة إلى التعامل مع إعداد خادم  مثل Apache.
 

مشروع مدونة بسيطة

في هذا المشروع سوف نتعرف على العناصر التي ذكرناها سابقا و هي Model, Temmplate, View.

المدونة ستوم بسيطة تحتوي على مقالات, كل مقال لديه الحقول التالية:

  1. صورة
  2. عنوان
  3. محتوى

و الإجراءات التي يمكننا تطبيقها عاى المقال هي:

  1. انشاء مقال
  2. التعديل على مقال
  3. حدف مقال

تطبيق - App

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

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

انشاء تطبيق

لانشاء تطبيق جديد داخل المشروع السابق mysite نقوم بـ: 

python manage.py startapp blog

هذا الامر ينشئ لنا مجلد باسم blog, يحتوي على الملفات التالية:

Django blog app

 

Views.py

نفتح الملف blog/views.py  ونضع فيه كود بايثون التالي:

from django.http import HttpResponse

def index(request):
    return HttpResponse('Hello World, blog index')

 

ملفات تهيئة URL

هذه هي أبسط واجهة عرض (View)  ممكنة في  .Django
للوصول إليها  (views.index)في المتصفح، نحتاج إلى ربطها بعنوان URL، ولذلك نحتاج إلى تعريف ملف تهيئة URL.
تُعرَّف ملفات تهيئة URL  هذه داخل كل تطبيق Django، وهي عبارة عن ملفات بايثون تُسمى urls.py.

blog/urls.py

لتعريف ملف  URLconf لتطبيق المدونة، ننشئ ملفًا باسم blog/urls.py بالمحتوى التالي:

from django.urls import path
from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

يجب أن يبدو دليل تطبيقك الآن كما يلي:

django project

mysite/urls.py

الخطوة التالية هي تهيئة ملف URLconf الرئيسي في مشروع mysite  ليشمل ملف URLconf  المُعرّف في polls.urls  وللقيام بذلك، 
نحتاج لـ django.urls.include  في ملف mysite/urls.py بحيث يصبح لدينا:

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

urlpatterns = [
    path("blog/", include("blog.urls")),
    path("admin/", admin.site.urls),
]

تتوقع الدالة path وسيطين على الأقل: rout, view 
تسمح الدالةinclude()  بالإشارة إلى ملفات تعريف عناوين URL  أخرى.
في حالتنا  هذه يبحث دجانغو في ملف urls الخاص بالتطبيق blog.

 

لقد قمنا الآن بربط views.index  بملف الـ URLconf.
نتحقق من أنه يعمل باستخدام الأمر : python manage.py runserver
ننتقل إلى http://127.0.0.1:8000/blog/  في المتصفح،
سنرى النص:
“Hello World, blog index”، الذي قمنا بتحديده في views.index.

 

تذكر أن المساهمات في هذا الموضوع يجب أن تتبع إرشادات المجتمع.


التعليقات:

    لا توجد تعليقات بعد.