مقدمه
درک تفاوت بین «پروژه» (project) و «اپلیکیشن» (app) در Django بسیار مهم است. یک
پروژه کل وبسایت یا وب اپلیکیشن شما را در بر میگیرد و شامل تنظیمات کلی، URLهای
اصلی و مجموعهای از اپلیکیشنها است. یک اپلیکیشن یک بخش ماژولار از پروژه شماست
که یک قابلیت یا ویژگی خاص را پیادهسازی میکند. برای مثال، یک وبسایت میتواند از اپلیکیشنهای
مجزایی برای وبلاگ، فروشگاه و سیستم مدیریت کاربران تشکیل شده باشد. این ساختار ماژولار، توسعه و
نگهداری پروژههای بزرگ را بسیار سادهتر میکند.
ایجاد اپلیکیشن learning_logs
بیایید اولین اپلیکیشن پروژه خود را که مسئولیت مدیریت وبلاگ آموزشی را بر عهده خواهد داشت، ایجاد
کنیم.
(ll_env) $ python manage.py startapp learning_logs
این دستور یک پوشه جدید به نام learning_logs ایجاد میکند که حاوی ساختار فایل استاندارد یک
اپلیکیشن Django است.
ثبت اپلیکیشن در پروژه
پس از ایجاد اپلیکیشن، باید آن را به پروژه خود معرفی کنیم. این کار با افزودن نام اپلیکیشن به لیست
INSTALLED_APPS در فایل settings.py پروژه اصلی انجام میشود.
learning_log/settings.py
INSTALLED_APPS = [
'django.contrib.staticfiles',
'learning_logs',
]
تعریف اولین View
یک «ویو» (View) در Django، یک تابع پایتون است که یک درخواست وب (request) را دریافت کرده و یک
پاسخ وب (response) را برمیگرداند. این پاسخ معمولاً یک صفحه HTML است. ما اولین ویو خود را که
صفحه اصلی اپلیکیشن خواهد بود، در فایل learning_logs/views.py تعریف میکنیم.
learning_logs/views.py
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
"""The home page for Learning Log."""
return HttpResponse("Hello, Django world!")
این سادهترین ویو ممکن است. این تابع یک شیء request را دریافت کرده و یک پاسخ HTTP ساده با یک
رشته متنی را برمیگرداند.
تعریف URLها
آخرین قدم، نگاشت یک URL به این ویو است تا کاربران بتوانند با مراجعه به آن آدرس، ویو ما را مشاهده
کنند. ما ابتدا یک فایل urls.py جدید در داخل پوشه اپلیکیشن خود (learning_logs)
میسازیم.
learning_logs/urls.py
"""Defines URL patterns for learning_logs."""
from django.urls import path
from . import views
app_name = 'learning_logs'
urlpatterns = [
path('', views.index, name='index'),
]
در این فایل، ما تابع path را برای تعریف یک الگوی URL وارد میکنیم. این تابع سه آرگومان
میگیرد: یک رشته برای الگوی URL (رشته خالی '' به معنی ریشه است)، تابعی از views.py که
باید فراخوانی شود، و یک نام برای این الگو.
سپس، باید این فایل urls.py جدید را به فایل urls.py اصلی پروژه معرفی کنیم.
learning_log/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('learning_logs.urls')),
]
ما با استفاده از تابع include، تمام URLهای تعریف شده در اپلیکیشن learning_logs را در
زیرمجموعه URLهای اصلی پروژه قرار میدهیم.
حالا اگر سرور توسعه را دوباره اجرا کرده و به آدرس http://127.0.0.1:8000/ بروید، باید پیام
"Hello, Django world!" را مشاهده کنید.
در این درس، ما اولین اپلیکیشن Django خود را ایجاد، ثبت و پیکربندی کردیم. با تعریف یک ویو ساده
و نگاشت یک URL به آن، اولین صفحه وب خود را با Django ساختیم. در درس بعدی، به سراغ «ساخت
Homepage» خواهیم رفت و با استفاده از تمپلیتهای HTML، یک صفحه اصلی واقعی و زیباتر برای وبلاگ خود
ایجاد خواهیم کرد.