在官方文档中,推荐的路由配置是这样的:
首先在views.py中创建视图函数:
# views.py
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
def index(request):
return HttpResponse('<h1>我最牛逼!宇宙第一!</h1>')
然后,需要在应用项目文件夹下在创建一个 urls.py
文件,我得理解:这个ulrs.py就是一个子路由。先看下我的项目目录及文件
在 应用文件 djapp / urls.py 中输入以下配置:
from django.urls import path # 从django的ulrs模块中 导入path实例
from . import views # 这段代码意思是:从当前模块引入views文件
# 在urlpatterns中配置路由
urlpatterns = [
path('son/',views.index,name='son')
]
下一步,在项目根目录 first_dj / urls.py 中输入以下配置:
from django.contrib import admin
from django.urls import path,include # 导入include函数
urlpatterns = [
path('admin/', admin.site.urls),
path('father/',include('djapp.urls')) # 配置路径,把应用文件下的'djapp.urls'传到include函数中
]
在浏览器中输入:
http:localhost:8000/father/son 出现视图函数返回的内容
先说下include作用:
include()函数允许引用其它 URLconfs(就是其他的urls.py文件)。
我的理解:一上边为例,当匹配路径为 /father/ 的时候,Django一看,第二个参数不是一个视图函数,而是include函数,它会以 /father 为根路径,并且继续随着匹配路径找到参数中的 ulrs.py,最终会解析参数中的urls.py文件,参数中的ulrs.py文件中的路径配置是 /father 根路径 的子路径 ,也就是 / father / son。(与vue中的子路由类似)