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 10 Python
用Python一键搭建Http服务器的方法
Jun 01 Python
python实现自动发送报警监控邮件
Jun 21 Python
Sanic框架基于类的视图用法示例
Jul 18 Python
django主动抛出403异常的方法详解
Jan 04 Python
python随机在一张图像上截取任意大小图片的方法
Jan 24 Python
详解Python:面向对象编程
Apr 10 Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 Python
python与idea的集成的实现
Nov 20 Python
python 对xml解析的示例
Feb 27 Python
python可视化大屏库big_screen示例详解
Nov 23 Python
讲解Python实例练习逆序输出字符串
May 06 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
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
php实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
2019/09/30 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
一些技巧性实用js代码小结
2009/10/14 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
基于element-ui的rules中正则表达式
2018/09/04 Javascript
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
浅谈vue 多个变量同时赋相同值互相影响
2020/08/05 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
[01:52]PWL S2开团时刻第四期——DOTA2成语故事
2020/12/03 DOTA
python获取mp3文件信息的方法
2015/06/15 Python
基于Django用户认证系统详解
2018/02/21 Python
pandas多级分组实现排序的方法
2018/04/20 Python
python获取代码运行时间的实例代码
2018/06/11 Python
在win10和linux上分别安装Python虚拟环境的方法步骤
2019/05/09 Python
我就是这样学习Python中的列表
2019/06/02 Python
深入浅析css3 中display box使用方法
2015/11/25 HTML / CSS
模具毕业生推荐信
2014/02/15 职场文书
2014年单位植树节活动方案
2014/03/23 职场文书
中国梦主题教育活动总结
2014/05/05 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
先进单位申报材料
2014/12/25 职场文书
安全生产会议制度
2015/08/06 职场文书
《大禹治水》教学反思
2016/02/22 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript
python opencv通过4坐标剪裁图片
2021/06/05 Python