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写的windows服务不能启动的问题
Apr 15 Python
Python中列表、字典、元组、集合数据结构整理
Nov 20 Python
简单的编程0基础下Python入门指引
Apr 01 Python
windows下安装Python和pip终极图文教程
Mar 05 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
Feb 13 Python
python读取文件名称生成list的方法
Apr 27 Python
Pycharm设置utf-8自动显示方法
Jan 17 Python
numpy:np.newaxis 实现将行向量转换成列向量
Nov 30 Python
Python 安装 virturalenv 虚拟环境的教程详解
Feb 21 Python
Django自定义全局403、404、500错误页面的示例代码
Mar 08 Python
浅谈Django中的QueryDict元素为数组的坑
Mar 31 Python
Node.js 和 Python之间该选择哪个?
Aug 05 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 Socket写的POP3类
2013/10/30 PHP
PHP单链表的实现代码
2016/07/05 PHP
php mysql 封装类实例代码
2016/09/18 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
javascript textContent与innerText的异同分析
2010/10/22 Javascript
javascript间隔刷新的简单实例
2013/11/14 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
JS之相等操作符详解
2016/09/13 Javascript
文件上传,iframe跨域数据提交的实现
2016/11/18 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
详解webpack解惑:require的五种用法
2017/06/09 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
2017/07/12 Javascript
jQuery实现简单日期格式化功能示例
2017/09/19 jQuery
详解React-Native全球化多语言切换工具库react-native-i18n
2017/11/03 Javascript
React Native基础入门之初步使用Flexbox布局
2018/07/02 Javascript
vue单页面应用打开新窗口显示跳转页面的实例
2018/09/21 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
vue路由 遍历生成复数router-link的例子
2019/10/30 Javascript
[02:32]DOTA2亚洲邀请赛 VG战队巡礼
2015/02/03 DOTA
[02:14]2016国际邀请赛中国区预选赛Ehome晋级之路
2016/07/01 DOTA
[01:04:32]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第二场 2月23日
2021/03/11 DOTA
Python专用方法与迭代机制实例分析
2014/09/15 Python
深入探究Python中变量的拷贝和作用域问题
2015/05/05 Python
整理Python中的赋值运算符
2015/05/13 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作
2019/12/11 Python
军训学生自我鉴定
2014/02/12 职场文书
听课评语大全
2014/04/30 职场文书
超市优秀员工事迹材料
2014/05/01 职场文书
活动倡议书范文
2014/05/13 职场文书
团队队名口号大全
2014/06/06 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
小学音乐课教学反思
2016/02/18 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书