جنگو (Django)

در جنگو (Django)، فایلهای URL نقش مهمی در مسیریابی (routing) ایفا میکنند و تعیین میکنند که درخواستهای ورودی به کدام view فرستاده شوند.
ساختار URL در Django
معمولاً فایل urls.py
شامل لیستی از الگوهای URL است که هرکدام به یک view مرتبط میشوند.
نمونهای از urls.py
:
from django.contrib import admin
from django.urls import path
from myapp import views
urlpatterns = [
path(‘admin/’, admin.site.urls), # صفحه مدیریت
path(‘ ‘, views.home, name=‘home’), # صفحه اصلی
path(‘about/’, views.about, name=‘about’), # صفحه درباره ما
path(‘contact/’, views.contact, name=‘contact’), # صفحه تماس
]
توضیحات:
path()
: برای تعریف یک URL استفاده میشود. این تابع 3 آرگومان اصلی میگیرد:- الگوی URL (مانند
'about/'
). - View مربوطه (مانند
views.about
). - نام URL اختیاری (مانند
name='about'
).
- الگوی URL (مانند
- ماژول
views
: برای ارتباط دادن هر URL به تابع مربوط در فایلviews.py
.
الگوهای داینامیک (Dynamic URLs)
برای ارسال پارامترها در URL، میتوانید از الگوهای داینامیک استفاده کنید.
from django.urls import path
from myapp import views
urlpatterns = [
path(‘article/<int:id>/’, views.article_detail, name=‘article_detail’),
path(‘user/<str:username>/’, views.user_profile, name=‘user_profile’),
]
در مثال بالا:
<int:id>
: مقدار عددی (integer) به تابع view ارسال میشود.<str:username>
: مقدار رشتهای (string) ارسال میشود.
اتصال فایلهای urls.py
در اپلیکیشنهای مختلف
اگر پروژه شما شامل چندین اپلیکیشن باشد، هر اپلیکیشن میتواند فایل urls.py
مخصوص خود را داشته باشد. سپس در فایل اصلی urls.py
(معمولاً در پوشه پروژه) آنها را به کمک include
متصل میکنید:
فایل اصلی urls.py
:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘blog/’, include(‘blog.urls’)), # اتصال به فایل urls.py در اپلیکیشن blog
path(‘shop/’, include(‘shop.urls’)), # اتصال به فایل urls.py در اپلیکیشن shop
]
فایل urls.py
اپلیکیشن blog
:
from django.urls import path
from . import views
urlpatterns = [
path(”, views.blog_home, name=‘blog_home’),
path(‘post/<int:id>/’, views.blog_post, name=‘blog_post’),
]
در Django، فایلهای URL وظیفه مسیریابی درخواستها را بر عهده دارند. برای هر اپلیکیشن، معمولاً یک فایل urls.py
تنظیم میشود. میتوان از الگوهای داینامیک برای پارامترهای متغیر در URLها استفاده کرد و با استفاده از ماژول include
، فایلهای URL اپلیکیشنهای مختلف را به فایل اصلی پروژه متصل نمود.
دیدگاهتان را بنویسید