Python 中urls.py:URL dispatcher(路由配置文件)详解


Posted in Python onMarch 24, 2017

urls.py:URL dispatcher(路由配置文件)

URL配置(URLconf)就像是Django所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表。以这样的方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。url的加载就是从配置文件中开始。

urlpatterns的两种形式

没有前缀的情况,使用的列表(推荐方式)

Python 中urls.py:URL dispatcher(路由配置文件)详解

URL模式

urlpatterns = [
  url(正则表达式, view函数, 参数, 别名, 前缀),
]

参数说明:

  1. 正则表达式:正则表达式
  2. view函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
  3. 参数:可选的要传递给视图函数的默认参数(字典形式)
  4. 别名:一个可选的name参数
  5. 前缀:路径前缀

URL分解器

通常一个URL分解器对应一个URL配置模块,它可以包含多个URL模式,也可以包含多个其他URL分解器。通过这种包含结构设计,实现Django对UR的层级解析。
URL分解器是Django实现app与项目解耦的关键。通常由include方法操作的URL配置模块,最终会被节食成为URL分解器。

URL常见写法示例 regex

url(r'test/\d{2}/$', views.test) # test/66
url(r'test/(?P<id>\d{2})/$', views.test)
url(r'test2/(?P<id>\d{2})/(?P<key>\w+) /$', views.test)

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
Python中super()函数简介及用法分享
Jul 11 Python
Python中类的初始化特殊方法
Dec 01 Python
Python利用Django如何写restful api接口详解
Jun 08 Python
Python爬虫常用库的安装及其环境配置
Sep 19 Python
详解Python locals()的陷阱
Mar 26 Python
Appium+python自动化怎么查看程序所占端口号和IP
Jun 14 Python
Python中six模块基础用法
Dec 08 Python
Python Lambda函数使用总结详解
Dec 11 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
Python脚本破解压缩文件口令实例教程(zipfile)
Jun 14 Python
浅谈python处理json和redis hash的坑
Jul 16 Python
python实现杨辉三角的几种方法代码实例
Mar 02 Python
python 类详解及简单实例
Mar 24 #Python
Python类的动态修改的实例方法
Mar 24 #Python
Python操作Excel之xlsx文件
Mar 24 #Python
解决uWSGI的编码问题详解
Mar 24 #Python
Python中动态创建类实例的方法
Mar 24 #Python
python3中set(集合)的语法总结分享
Mar 24 #Python
Python Socket编程详细介绍
Mar 23 #Python
You might like
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
php smarty模板引擎的6个小技巧
2014/04/24 PHP
Laravel 添加多语言提示信息的方法
2019/09/29 PHP
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
Javascript事件实例详解
2013/11/06 Javascript
详解js闭包
2014/09/02 Javascript
使用js实现数据格式化
2014/12/03 Javascript
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
如何提高Dom访问速度
2017/01/05 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
深入理解Vue 的条件渲染和列表渲染
2017/09/01 Javascript
使用Electron构建React+Webpack桌面应用的方法
2017/12/15 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
nodejs实现获取本地文件夹下图片信息功能示例
2019/06/22 NodeJs
vue子传父关于.sync与$emit的实现
2019/11/05 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
linecache模块加载和缓存文件内容详解
2018/01/11 Python
完美解决python中ndarray 默认用科学计数法显示的问题
2018/07/14 Python
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
Python XML转Json之XML2Dict的使用方法
2019/01/15 Python
Django框架模板介绍
2019/01/15 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
Python如何使用paramiko模块连接linux
2020/03/18 Python
市场营销职业生涯规划书范文
2014/01/12 职场文书
乡镇挂职心得体会
2014/09/04 职场文书
党员干部观看《周恩来四个昼夜》思想汇报
2014/09/10 职场文书
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
刑事附带民事上诉状
2015/05/23 职场文书
MySQL存储过程及语法详解
2022/08/05 MySQL