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 相关文章推荐
Python3访问并下载网页内容的方法
Jul 28 Python
利用Python实现网络测试的脚本分享
May 26 Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 Python
Python内置函数 next的具体使用方法
Nov 24 Python
python调用百度地图WEB服务API获取地点对应坐标值
Jan 16 Python
Python使用lambda表达式对字典排序操作示例
Jul 25 Python
python实现邮件自动发送
Aug 10 Python
python使用Matplotlib改变坐标轴的默认位置
Oct 18 Python
Python 实现try重新执行
Dec 21 Python
python3 自动打印出最新版本执行的mysql2redis实例
Apr 09 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
pytorch fine-tune 预训练的模型操作
Jun 03 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读取文件内容的方法汇总
2015/01/24 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
2010/12/19 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
JavaScript中获取Radio被选中的值
2015/11/11 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
js实现一个猜数字游戏
2017/03/31 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
浅谈Node.js 子进程与应用场景
2018/01/24 Javascript
CKEditor4配置与开发详细中文说明文档
2018/10/08 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
实现一个 Vue 吸顶锚点组件方法
2019/07/10 Javascript
mpvue 页面预加载新增preLoad生命周期的两种方式
2019/10/17 Javascript
vue实现简易的双向数据绑定
2020/12/29 Vue.js
JS+CSS实现过渡特效
2021/01/02 Javascript
Python开发如何在ubuntu 15.10 上配置vim
2016/01/25 Python
python实现字典(dict)和字符串(string)的相互转换方法
2017/03/01 Python
Python获取Redis所有Key以及内容的方法
2019/02/19 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
Pycharm 使用 Pipenv 新建的虚拟环境(图文详解)
2020/04/16 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
SAZAC的动物连体衣和动物睡衣:Kigurumi Shop
2020/03/14 全球购物
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
股东出资证明书范例
2014/10/04 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
通报表扬范文
2015/01/17 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
Python读取文件夹下的所有文件实例代码
2021/04/02 Python