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下singleton模式的实现方法
Jul 16 Python
Python实现Linux下守护进程的编写方法
Aug 22 Python
python实现忽略大小写对字符串列表排序的方法
Sep 25 Python
在Python的Django框架中创建语言文件
Jul 27 Python
python实现FTP服务器服务的方法
Apr 11 Python
Django自定义manage命令实例代码
Feb 11 Python
python实现泊松图像融合
Jul 26 Python
python内置模块collections知识点总结
Dec 19 Python
Pandas实现DataFrame按行求百分数(比例数)
Dec 27 Python
python遍历路径破解表单的示例
Nov 21 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 Python
linux centos 7.x 安装 python3.x 替换 python2.x的过程解析
Dec 14 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闭包实例解析
2014/09/08 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
php统计数组元素个数的方法
2015/07/02 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
JS代码格式化和语法着色V2
2006/10/14 Javascript
Web开发之JavaScript
2012/03/29 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
JavaScript数组深拷贝和浅拷贝的两种方法
2014/04/16 Javascript
jQuery学习笔记之2个小技巧
2015/01/19 Javascript
AngularJS中$interval的用法详解
2016/02/02 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
javascript基本数据类型及类型检测常用方法小结
2016/12/14 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
python实现360皮肤按钮控件示例
2014/02/21 Python
Python使用shelve模块实现简单数据存储的方法
2015/05/20 Python
Python3删除排序数组中重复项的方法分析
2019/01/31 Python
Django使用uwsgi部署时的配置以及django日志文件的处理方法
2019/08/30 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
2020/04/15 Python
详解python程序中的多任务
2020/09/16 Python
python实现移动木板小游戏
2020/10/09 Python
Python collections模块的使用方法
2020/10/09 Python
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
Why do we need Unit test
2013/01/03 面试题
表扬信格式
2014/01/12 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
Python内置数据类型中的集合详解
2022/03/18 Python
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python
python 使用pandas读取csv文件的方法
2022/12/24 Python