一、路由
一个完整的路由包括:路由地址,视图函数,可选变量和路由命名,本篇讲解:路由定义规则,命名空间与路由命名,路由使用方式。
1,路由规则
路由URL(Uniform Resource Locator, 统一资源定位符),互联网上每个资源都有唯一一个路由,路由可以视为网址。
1.1,Django2.X路由定义
路由地址即我们常说的网址,视图函数即App的views.py文件所定义的函数。
对MyDjango项目的目录进行调整,在index文件夹添加一个空白.py文件,命名为url.py,项目结构如下
在App(index文件夹)里添加urls.py是将所有属于App的路由都写入该文件中,这样更容易管理和区分每个App的路由地址,而MyDjano文件夹下的urls.py是将每个App的urls.py统一管理。这种路由设计模式是Django常用的。
MyDjango文件夹的urls.py代码如下:
MyDjango文件夹的urls.py定义两条路由信息,分别是Admin站点管理和首页地址(index)。
- from django.contrib import admin: 导入内置Admin功能模块。
- from django.urls import path, include: 导入Django的路由函数模块。
- urlpatterns:代表整个项目的路由集合,以列表格式表示,每个元素代表一条路由信息。
- path('admin/', admin.site.urls): 设定Admin的路由信息。‘admin/'代表127.0.0.1:8000/admin的路由地址,admin后面的斜杠是路径分隔符,其作用等同于计算机中文件目录的斜杠符号;
- path('', include('index.urls')): 路由地址为“\", 即127.00.1.8000,通常是网站的首页;路由函数include是将该路由信息分发给index的urls.py处理。
首页地址分给了index的urls,下一步对index的urls.py编写路由信息:
在index的urls.py导入index的views.py文件,views用于编写视图函数,views处理用户请求,返回响应内容给用户。
上图views.index是指处理用户请求和响应的过程,在views.py中编写index函数,如下:
index函数常设置一个参数,参数名不固定,常以request命名。函数执行完成后必须使用return将结果返回,否则程序会提示异常。
运行项目,启动浏览器:
启动MyDjango项目时,Django会从配置文件setting.py读取属性ROOT_URLCONF的值,默认值为MyDjango.urls, 其代表MyDjango文件夹的urls.py文件,然后根据ROOT_URLCONF的值来生成整个项目的路由列表。
路由列表由urlpatterns表示,每个列表元素代表一条路由。
路由由Django的path函数定义,该函数第一个参数是路由地址,第二个参数是处理函数(视图函数)。这两个参数必须有。
1.2 Django 1.X路由定义
Django1中,路由定义规则由url函数定义,而非path函数,url函数的第一个参数是路由地址,第二个参数是处理函数(视图函数),'^'代表当前路由地址的相对路径,’$'代表当前路由地址的终止符。
MyDjango文件夹下url
index文件夹下url