创建URL配置文件:
1. 在应用中创建urls.py文件:
在每个Django应用中,通常都会有一个urls.py文件,用于定义该应用的URL模式。
# myapp/urls.py
from django.urls import path
from .views import my_view
urlpatterns = [
path('hello/', my_view, name='hello'),
]
这个例子中,path('hello/', my_view, name='hello')表示将/hello/的请求映射到my_view视图函数。
2. 在项目的主urls.py文件中包含应用的URL配置:
在项目的主URL配置文件中,通常包含了所有应用的URL配置。这个文件通常称为urls.py。
# myproject/urls.py
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')),
]
这个例子中,include('myapp.urls')将myapp应用的URL配置包含到主URL配置中。
路由模式和参数:
Django的path()和re_path()函数用于定义URL模式,其中:
- path()接受一个字符串模式,可以包含具体的路径和可选的参数。
- re_path()使用正则表达式定义复杂的模式。
# 使用 path()
path('books/<int:book_id>/', views.book_detail, name='book_detail')
# 使用 re_path(),这里使用正则表达式匹配书籍编号
re_path(r'^books/(?P<book_id>\d+)/$', views.book_detail, name='book_detail')
命名URL:
通过给URL模式命名,可以在代码中更容易地引用这些URL。这通常通过name参数完成。
path('books/<int:book_id>/', views.book_detail, name='book_detail')
在视图或模板中,可以使用reverse()函数通过URL名称生成相应的URL。
from django.urls import reverse
url = reverse('book_detail', args=[1])
# 返回:'/books/1/'
以上是Django 4.0中URL调度器的基本概念和用法。URL配置是Django应用的重要组成部分,使得你可以灵活地组织和处理不同URL路径的请求。详细了解[Django官方文档中的URL配置部分](https://docs.djangoproject.com/en/4.0/topics/http/urls/)有助于更深入地理解这个机制。
转载请注明出处:http://www.pingtaimeng.com/article/detail/7199/Django