分层模块化,就是url中套url,这种情况可以使用include()函数,进行导入子url.
示例代码如下:
1.book.views.py文件中视图函数:
from django.http import HttpResponse
def book(request):
return HttpResponse("图书列表")
def book_detail(request,book_id):
text = '您获取的图书ID是:%s ' % book_id
return HttpResponse(text)
2.book.urls.py文件中子url与视图函数的映射:
from django.urls import path
from .import views
urlpatterns = [
# 此处的子url为空白,与主url一起,就对应book/
path('',views.book, name = 'book'),
path('detail/<book_id>/',views.book_detail, name = 'book_detail')
]
3.主urls.py文件中主url与子urls的关系:
from book import views
from django.urls import path,include
//从django.urls 模块中导入 函数include
urlpatterns = [
# 空白字符匹配的是http://127.0.0.1:8000
path('', views.index,name = 'index'),
# 主url只要能够匹配规则book