Django URL参数Template反向解析


Posted in Python onNovember 24, 2020

一、 URL参数在view中传递

1、带参数名:通过named group方式传递指定参数,语法为: (?P<name>pattern), name 为传递参数的名称,pattern代表所要匹配的模式。如下:

url(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$', views.month_archive)

中:year,month为参数名,而后面紧跟的则代表正则表达匹配的模式。

比如某个具体的URL为:http://0.0.0.0:8081/kingadmin/2017/09/(黄色部分为域名),对应view处理函数如下:

def month_archive(request,year,month):

  print(year,month)

return render(request,"kingadmin/index.html",locals())

其中:app_name 和 model_name对应url中传递过来的参数值year值为:2017,month值为9

2、不带参数名:语法为: (r'pattern1/pattern2/'), pattern代表所要匹配的模式。如下:

url(r'^(\w+)/(\w+)/$', views.table_data_list)

比如某个具体的URL为:http://0.0.0.0:8081/kingadmin/crm/customer/(黄色部分为域名),对应view处理函数如下:

def table_data_list(request,app_name,model_name):

admin_obj = base_admin.site.registered_sites[app_name][model_name]

return render(request,"kingadmin/table_data_list.html",locals())

其中:app_name 和 model_name对应url中传递过来的参数值app_name值为:crm,model_name值为customer

二、Templates href格式

href="{% url ‘name' params %}" rel="external nofollow"

其中:name为url.py 文件中某个url配置的name别名,params某个url对应的各个参数具体值,使用如下:

#在url.py的url中添加一个url,name参数为:name='app-views-func'
urlpatterns = [
url(r'^(\w+)/(\w+)/(\d+)/delete/$', views.table_delete,name='table_delete'),]#
href="{% url 'table_delete' 3 2 1 %}" rel="external nofollow" #url中有三个参数(\w+)/(\w+)/(\d+),所以要传入三个具体的参数值3 2 1
生成的url如下:http://0.0.0.0:8081/3/2/1/delete/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用Python创建声明性迷你语言的教程
Apr 13 Python
在Python中使用全局日志时需要注意的问题
May 06 Python
使用url_helper简化Python中Django框架的url配置教程
May 30 Python
Python下Fabric的简单部署方法
Jul 14 Python
详解Python的Django框架中的模版继承
Jul 16 Python
Python列表list操作符实例分析【标准类型操作符、切片、连接字符、列表解析、重复操作等】
Jul 24 Python
python和mysql交互操作实例详解【基于pymysql库】
Jun 04 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
使用python快速实现不同机器间文件夹共享方式
Dec 22 Python
python代码区分大小写吗
Jun 17 Python
django前端页面下拉选择框默认值设置方式
Aug 09 Python
通过代码实例了解Python3编程技巧
Oct 13 Python
python3爬虫中引用Queue的实例讲解
Nov 24 #Python
python3爬虫中多线程的优势总结
Nov 24 #Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
Nov 24 #Python
python 如何停止一个死循环的线程
Nov 24 #Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 #Python
Python做图像处理及视频音频文件分离和合成功能
Nov 24 #Python
Python调用Redis的示例代码
Nov 24 #Python
You might like
默默简单的写了一个模板引擎
2007/01/02 PHP
php中opendir函数用法实例
2014/11/15 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
一个简单安全的PHP验证码类 附调用方法
2016/06/24 PHP
PHP isset()与empty()的使用区别详解
2017/02/10 PHP
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
2010/05/31 Javascript
javascript中日期转换成时间戳的小例子
2013/03/21 Javascript
js禁止document element对象选中文本实现代码
2013/03/21 Javascript
JS小功能(列表页面隔行变色)简单实现
2013/11/28 Javascript
Javascript中的Array数组对象详谈
2014/03/03 Javascript
js脚本实现数据去重
2014/11/27 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
jQuery拖动布局其结果保存到数据库
2015/10/09 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
编程语言Python的发展史
2014/09/26 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
python协程之动态添加任务的方法
2019/02/19 Python
Python利用神经网络解决非线性回归问题实例详解
2019/07/19 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
python numpy 反转 reverse示例
2019/12/04 Python
Python计算IV值的示例讲解
2020/02/28 Python
使用python创建Excel工作簿及工作表过程图解
2020/05/27 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
采购员岗位职责
2013/11/15 职场文书
行政总经理岗位职责
2013/12/05 职场文书
2014新年寄语
2014/01/20 职场文书
房贷收入证明范本
2015/06/12 职场文书
学校教学管理制度
2015/08/06 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android