外观
使用include包含路由
在开发过程中,随着项目复杂度增加,定义的路由也会越来越多。若全部路由都定义在blog/urls.py中,代码会特别凌乱。此时,可以将前缀内容相同的路由设置为一组,然后使用include()函数包含分组的路由。
例如,将blog/urls.py文件中包含“articles/”前缀的路由作为一组,修改blog/urls.py文件,代码如下:
from django.urls import path, include
urlpatterns = [
path('admin', admin.site.urls),
path('articles', include('article.urls'))
]在上方使用了include包含article下的urls文件,接下来就是在article目录下创建一个urls.py,代码如下:
from django.urls import path
from . import views
urlpatterns = [
path('', views.article_list),
path('<int:year>/', views.year_archives),
path('<int:year>/<int:month>/', views.month_archives),
path('<int:year>/<int:month>/<slug:slug>/', views.article_details)
]最后在article目录下创建一个views.py,代码如下:
from django.http import HttpResponse
def article_list(request):
return HttpResponse('article_list函数')
def year_archives(request, year):
return HttpResponse('year_archives函数')
def month_archives(request, year, month):
return HttpResponse('month_archives函数')
def article_details(request, year):
return HttpResponse('article_details函数')视图
视图函数简称视图,它是一个简单的Python函数,接受request并返回HttpResponse对象。根据视图或函数的类型,Django视图可以分为FBV视图和CBV视图。