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 执行字符串表达式函数(eval exec execfile)
Aug 11 Python
Python的多态性实例分析
Jul 07 Python
探究python中open函数的使用
Mar 01 Python
浅析Python中元祖、列表和字典的区别
Aug 17 Python
python 多线程中子线程和主线程相互通信方法
Nov 09 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
如何使用Python多线程测试并发漏洞
Dec 18 Python
keras 特征图可视化实例(中间层)
Jan 24 Python
python读取与处理netcdf数据方式
Feb 14 Python
python常用运维脚本实例小结
Feb 14 Python
解决IDEA 的 plugins 搜不到任何的插件问题
May 04 Python
python Tkinter模块使用方法详解
Apr 07 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
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
destoon实现调用自增数字从1开始的方法
2014/08/21 PHP
详解PHP PDO简单教程
2019/05/28 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
2020/12/30 PHP
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
理解Javascript的动态语言特性
2015/06/17 Javascript
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
微信小程序 MINA文件结构
2016/10/17 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
JS实现利用两个队列表示一个栈的方法
2017/12/13 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
在vue项目中使用sass语法问题
2019/07/18 Javascript
layui表格分页 记录勾选的实例
2019/09/02 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
Python实现处理管道的方法
2015/06/04 Python
Python实现的多进程和多线程功能示例
2018/05/29 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
Python Numpy 控制台完全输出ndarray的实现
2020/02/19 Python
jupyter notebook 写代码自动补全的实现
2020/11/02 Python
html5-Canvas可以在web中绘制各种图形
2012/12/26 HTML / CSS
Timberland美国官网:全球领先的户外品牌
2016/08/15 全球购物
英国设计的甲板鞋和船鞋:Chatham
2018/12/06 全球购物
《三顾茅庐》教学反思
2014/04/10 职场文书
导游个人求职信
2014/04/25 职场文书
学校做一个有道德的人活动方案
2014/08/23 职场文书
安全演讲稿开场白
2014/08/25 职场文书
幼儿园迎新生欢迎词
2015/09/30 职场文书
SQL基础的查询语句
2021/11/11 MySQL