目录
路由定义规则
准备工作:新建项目MyDjango,新建App index,在项目的index 文件夹里新添加一个空白内容的.py 文件,命名为urls.py。项目结构如下图:
在App(index 文件夹)里添加urls.py 是将所有属于App 的路由都写入该文件中,这样更容易管理和区分每个App的路由地址,而MyDjango 文件夹的urls.py 是将每个App的 urls.py 统一管理。其工作原理如下:
(1) 运行MyDjango 项目时,Django 从 MyDjango 文件夹的urls.py 找到各个App所定义的路由信息,生成完整的路由列表
(2) 当用户在浏览器上访问某个路由地址时,Django 就会收到该用户的请求信息
(3) Django 从当前请求信息获取路由地址,并在路由列表里匹配相应的路由信息,再执行路由信息所指向的视图函数(或视图类) ,从而完成整个请求响应过程。
MyDjango 文件夹得urls.py 代码如下:
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
# 指向内置Admin后台系统的路由文件 setes.py
path('admin/', admin.site.urls),
# 指向index 的路由文件 urls.py
path('', include('index.urls')),
]
以上定义了两条路由信息,分别是Admin 站点管理 和 首页地址(index)。其中,Admin站点管理在创建项目时自动生成,一般情况下无须修改;首页地址是指index文件夹得urls.py
- path('admin/', admin.site.urls): 设定Admin得路由信息。'admin/' 代表 127.0.0.1/8001/admin得路由地址,admin.site.urls 指向内置Admin功能所自定义的路由信息
venv/Lib/site-packages/django/contrib/admin/sites.py - path('', include('index.urls')): 路由地址为"",即127.0.0.1:8001 ,通常是网站得首页。路由函数include 是将该路由信息分发给 index得urls.py处理