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如何派生内置不可变类型并修改实例化行为
Mar 21 Python
PyQt5每天必学之事件与信号
Apr 20 Python
python集合比较(交集,并集,差集)方法详解
Sep 13 Python
Python设计模式之命令模式原理与用法实例分析
Jan 11 Python
Pandas分组与排序的实现
Jul 23 Python
Python  Django 母版和继承解析
Aug 09 Python
python自动生成model文件过程详解
Nov 02 Python
python的slice notation的特殊用法详解
Dec 27 Python
python print 格式化输出,动态指定长度的实现
Apr 12 Python
Python通用唯一标识符uuid模块使用案例
Sep 10 Python
python3.9和pycharm的安装教程并创建简单项目的步骤
Feb 03 Python
Python 图片处理库exifread详解
Feb 25 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
深入PHP autoload机制的详解
2013/06/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
2014/06/25 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
PHP多个图片压缩成ZIP的方法
2020/08/18 PHP
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
基于Jquery插件实现跨域异步上传文件功能
2016/04/26 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
Vue中引入样式文件的方法
2017/08/18 Javascript
浅谈vuex 闲置状态重置方案
2018/01/04 Javascript
nodejs 生成和导出 word的实例代码
2018/07/31 NodeJs
使用Vue做一个简单的todo应用的三种方式的示例代码
2018/10/20 Javascript
浏览器事件循环与vue nextTicket的实现
2019/04/16 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
2019/04/30 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
vue+springboot图片上传和显示的示例代码
2020/02/14 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
[39:02]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs VGJ.T
2018/04/01 DOTA
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
python调用API实现智能回复机器人
2018/04/10 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
Django实现跨域的2种方法
2019/07/31 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
解决Windows下python和pip命令无法使用的问题
2020/08/31 Python
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
求职自荐书范文
2013/12/04 职场文书
水电站项目建议书
2014/05/12 职场文书
毕业生实习证明
2014/09/19 职场文书
职代会闭幕词
2015/01/28 职场文书
人才市场接收函
2015/01/30 职场文书
社会实践活动报告
2015/02/05 职场文书
教你用Python写一个植物大战僵尸小游戏
2021/04/25 Python