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循环监控远程端口的方法
Mar 14 Python
python使用PyCharm进行远程开发和调试
Nov 02 Python
PyCharm 常用快捷键和设置方法
Dec 20 Python
Python列表推导式与生成器表达式用法示例
Feb 08 Python
Python中使用pypdf2合并、分割、加密pdf文件的代码详解
May 21 Python
Django admin model 汉化显示文字的实现方法
Aug 12 Python
Python中输入和输出(打印)数据实例方法
Oct 13 Python
Python批量启动多线程代码实例
Feb 18 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
Apr 15 Python
Python图像处理二值化方法实例汇总
Jul 24 Python
python 无损批量压缩图片(支持保留图片信息)的示例
Sep 22 Python
python 进阶学习之python装饰器小结
Sep 04 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 Undefined index的问题
2009/06/01 PHP
PHP中使用unset销毁变量并内存释放问题
2012/07/05 PHP
PHP发送短信代码分享
2015/08/11 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
PHP时间处理类操作示例
2018/09/05 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
javascript各种复制代码收集
2008/09/20 Javascript
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
按钮接受回车事件的三种实现方法
2014/06/06 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
js中scrollTop()方法和scroll()方法用法示例
2016/10/03 Javascript
JavaScript常见的五种数组去重的方式
2016/12/15 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
2017/04/05 Javascript
JavaScript数组方法的错误使用例子
2018/09/13 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
js实现扫雷源代码
2020/11/27 Javascript
Python牛刀小试密码爆破
2011/02/03 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
利用python对Excel中的特定数据提取并写入新表的方法
2018/06/14 Python
Python3常见函数range()用法详解
2019/12/30 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
Numpy数组的广播机制的实现
2020/11/03 Python
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
荷兰度假屋租赁网站:Aan Zee
2020/02/28 全球购物
Ibatis如何使用动态表名
2015/07/12 面试题
大学本科生的个人自我评价
2013/12/09 职场文书
中学教师培训制度
2014/01/31 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
ThinkPHP5和ThinkPHP6的区别
2021/03/31 PHP
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers
mysql中数据库覆盖导入的几种方式总结
2022/03/25 MySQL