第61篇 Django 路由系统 正则表达式和二级路由 路由的命名和反向解析
Posted cavalier-chen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第61篇 Django 路由系统 正则表达式和二级路由 路由的命名和反向解析相关的知识,希望对你有一定的参考价值。
1. 正则表达式
1. Django路由系统匹配URL路径的时候是从上到下按照注册顺序来的
1.1Django1.11 与Django2.0区别 以及过度转换
2. Django的路由系统只匹配URL路径,不匹配域名、端口、URL参数
3. 分组匹配 --> 相当于给视图函数传位置参数
4. 分组命令匹配 --> 相当于给视图函数传关键字参数
r‘^xxxx$‘
r一定要写上,代表里面的字符串是原始的字符串不需要转译
5. 注意:
分组匹配和分组命名匹配不能混合使用!!!
6.匹配不成功是否自动添加/重新匹配
7. 视图函数中可以指定默认值,这个设计思想很重要,
7. 二级路由
2. 给URL匹配模式起名字
1. name=‘别名‘ --> 起别名的目的是为了反向解析URL的时候有依据
3. 通过名字反向解析
1. 在视图函数中:
from django.urls import reverse
reverse(‘别名‘, )
2. 在模板html页面
{% url ‘别名‘ ‘参数1‘ ... %}
3.2
4. namespace模式
# 所有以app01开头的都交给app01/urls.py去处理
url(r‘^app01/‘, include(app01_urls, namespace=‘app01‘)),
# 所有以xiayuhao开头的都交给app02/urls.py去处理
url(r‘^app02/‘, include(app02_urls, namespace=‘app02‘)), # app02/index/
以上是关于第61篇 Django 路由系统 正则表达式和二级路由 路由的命名和反向解析的主要内容,如果未能解决你的问题,请参考以下文章