Django urls.py重构及参数传递详解


Posted in Python onJuly 23, 2019

1. 内部重构#

Django urls.py重构及参数传递详解

2. 外部重构#

website/blog/urls.py

Django urls.py重构及参数传递详解

website/website/urls.py

Django urls.py重构及参数传递详解

3. 两种参数处理方式 #

1. blog/index/?id=1234&name=bikmin#

#urls.py

url(r'^blog/index/$','get_id_name')

#views.py

from django.http import HttpResponse
from django.template import loader,Context

def get_id_name(request):
  html = loader.get_template("index.html")
  id = request.GET.get("id")
  name = request.GET.get("name")
  context = Context({"id":id,"name":name})
  return HttpResponse(html.render(context))

#index.html

<body>
  <li>id:{{ id }}</li>
  <li>name:{{ name }}</li>
</body>

效果如下

Django urls.py重构及参数传递详解

2. blog/index/1234/bikmin#

#urls.py

url(r'^blog/index/(\d{4})/(\w+)/$','blog.views.get_id_name')

#views.py

from django.http import HttpResponse
from django.template import loader,Context

def get_id_name(request,p1,p2):
  html = loader.get_template("index.html")
  context = Context({"id":p1,"name":p2})
  return HttpResponse(html.render(context))

#index.html

<body>
  <li>id:{{ id }}</li>
  <li>name:{{ name }}</li>
</body>

效果如下:

Django urls.py重构及参数传递详解

3.blog/index/1234/bikmin (和-2不一样的在于views.py,接收的参数名是限定的)#

#urls.py

#限定id,name参数名
url(r'blog/index/(?P<id>\d{4})/(?P<name>\w+)/$','get_id_name')

#views.py

from django.http import HttpResponse
from django.template import loader,Context

def get_id_name(request,id,name):
  html = loader.get_template("index.html")
  context = Context({"id":id,"name":name})
  return HttpResponse(html.render(context))

#index.html

<body>
  <li>id:{{ id }}</li>
  <li>name:{{ name }}</li>
</body>

效果如下

Django urls.py重构及参数传递详解

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

Python 相关文章推荐
Python编程实现正则删除命令功能
Aug 30 Python
Python实现压缩和解压缩ZIP文件的方法分析
Sep 28 Python
Python OpenCV处理图像之图像直方图和反向投影
Jul 10 Python
Python子类继承父类构造函数详解
Feb 19 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
在django-xadmin中APScheduler的启动初始化实例
Nov 15 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
Feb 20 Python
在python里使用await关键字来等另外一个协程的实例
May 04 Python
flask开启多线程的具体方法
Aug 02 Python
如何利用python检测图片是否包含二维码
Oct 15 Python
TensorFlow2.0使用keras训练模型的实现
Feb 20 Python
python 常用的异步框架汇总整理
Jun 18 Python
Django框架基础模板标签与filter使用方法详解
Jul 23 #Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
Jul 23 #Python
Python中拆分字符串的操作方法
Jul 23 #Python
python实现电子书翻页小程序
Jul 23 #Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
Jul 22 #Python
python使用原始套接字发送二层包(链路层帧)的方法
Jul 22 #Python
微信公众号token验证失败解决方案
Jul 22 #Python
You might like
php 将bmp图片转为jpg等其他任意格式的图片
2009/06/29 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
php取出数组单个值的方法
2018/03/12 PHP
PHP使用HTML5 FormData对象提交表单操作示例
2019/07/02 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
PHP数组基本用法与知识点总结
2020/06/02 PHP
jQuery源码分析之Event事件分析
2010/06/07 Javascript
关于JavaScript中string 的replace
2013/04/12 Javascript
javaScript 页面自动加载事件详解
2014/02/10 Javascript
JavaScript获取flash对象与网上的有所不同
2014/04/21 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
2014/06/14 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
Javascript仿京东放大镜的效果
2017/03/01 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
Python(TensorFlow框架)实现手写数字识别系统的方法
2018/05/29 Python
Python把对应格式的csv文件转换成字典类型存储脚本的方法
2019/02/12 Python
对python中的float除法和整除法的实例详解
2019/07/20 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
Selenium 配置启动项参数的方法
2020/12/04 Python
经济管理专业毕业生推荐信
2013/11/11 职场文书
数控专业个人求职信范文
2014/02/05 职场文书
入股协议书
2014/04/14 职场文书
艾滋病宣传标语
2014/06/25 职场文书
电子商务专业求职信
2014/07/10 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
2019个人半年工作总结
2019/06/21 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
Spring Boot 实现 WebSocket
2022/04/30 Java/Android