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 30 Python
Python中的集合类型知识讲解
Aug 19 Python
python实现堆和索引堆的代码示例
Mar 19 Python
基于python实现聊天室程序
Jul 27 Python
Python连接Redis的基本配置方法
Sep 13 Python
Python递归函数 二分查找算法实现解析
Aug 12 Python
python 动态迁移solr数据过程解析
Sep 04 Python
Python hashlib模块实例使用详解
Dec 24 Python
pandas实现DataFrame显示最大行列,不省略显示实例
Dec 26 Python
Python requests及aiohttp速度对比代码实例
Jul 16 Python
Python爬虫爬取微信朋友圈
Aug 06 Python
Python sklearn分类决策树方法详解
Sep 23 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
建站常用13种PHP开源CMS比较
2009/08/23 PHP
php 无法载入mysql扩展
2010/03/12 PHP
php异常处理使用示例
2014/02/25 PHP
php获取数据库中数据的实现方法
2017/06/01 PHP
使用PHP开发留言板功能
2019/11/19 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
javascript 对表格的行和列都能加亮显示
2008/12/26 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
js解析json读取List中的实体对象示例
2014/03/11 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
2015/12/03 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
boostrapTable的refresh和refreshOptions区别浅析
2017/01/22 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python httplib模块使用实例
2015/04/11 Python
Python ftp上传文件
2016/02/13 Python
Python selenium 三种等待方式解读
2016/09/15 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
python生成n个元素的全组合方法
2018/11/13 Python
pandas DataFrame 警告(SettingWithCopyWarning)的解决
2019/07/23 Python
python enumerate内置函数用法总结
2020/01/07 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
LG西班牙网上商店:Tienda LG Online Es
2019/07/30 全球购物
进修护士自我鉴定
2013/10/14 职场文书
小车司机岗位职责
2013/11/25 职场文书
大专生自我评价
2014/01/28 职场文书
2014年两会学习心得范例
2014/03/17 职场文书
团代会宣传工作方案
2014/05/08 职场文书
工作检讨书怎么写
2015/01/23 职场文书
2015年世界水日活动总结
2015/02/09 职场文书