路由的基础知识
一个完整的路由包含:路由地址、视图函数(视图类)、可选变量和路由命名。
1路由的定义规则
路由定义主要是通过urls.py文件来进行。
该目录中有两个urls.py文件,分别在项目中test01目录以及App中index目录中,这样可以比较容易的管理每一个app的路由地址。这样的路由设计模式是Django中经常用到的,期工作原理如下:
- 运行test01项目是,Django从test01文件夹的urls.py中找到各个app所定义的路由信息,生成完整的路由列表。
- 当用户在浏览器上访问某个路由地址时,Django就会收到该用户的请求信息。
- Django从当前请求信息获取路由地址,并在路由列表中匹配相应的路由信息,在执行路由信息所指向的函数(或者视图类),从而完成整个请求响应
其中项目的urls.py内容如下:
from django.contrib import admin
from django.urls import path, include
from index.views import index
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('index.urls'))
]
APP中的urls.py 内容如下:
from django.urls import path
urlpatterns = [
path('', views.index)
]
App中的views.py内容如下:
from django.shortcuts import render
def index(request):
return render(request, 'index.html')
templates目录下要有相应的index.html文件
此时启动Django服务是即可显示index.html所表示的页面。
路由同样可以进行用变量进行设置,这样可以使路由具有多样性。路由变量类型有字符型、整型、slug和uuid。
- slug可以解释为注释、后缀或附属等概念,可以匹配任何ASCII字符以及连接符和下划线,是路由清晰易懂,如网页的标题为:系统工程2号,其路由地址可以为xi-tong-gong-cheng-2-hao
- uuid为匹配一个uuid对象,如5464899d6df-8g48s9g4-t9h4h6h。