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的id()函数介绍
Feb 10 Python
在Python的Flask框架中使用日期和时间的教程
Apr 21 Python
在Django的模型中执行原始SQL查询的方法
Jul 21 Python
python实现将内容分行输出
Nov 05 Python
Python使用正则表达式获取网页中所需要的信息
Jan 29 Python
深入浅析python 协程与go协程的区别
May 09 Python
Python实现Linux监控的方法
May 16 Python
Python使用selenium + headless chrome获取网页内容的方法示例
Oct 16 Python
通过实例学习Python Excel操作
Jan 06 Python
python基于socket函数实现端口扫描
May 28 Python
Python+Selenium随机生成手机验证码并检查页面上是否弹出重复手机号码提示框
Sep 21 Python
pycharm部署django项目到云服务器的详细流程
Jun 29 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框架的性能
2008/01/10 PHP
Yii2增加验证码步骤详解
2016/04/25 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
phpinfo的知识点总结
2019/10/10 PHP
jquery实现input输入框实时输入触发事件代码
2014/01/28 Javascript
JS中捕获console.log()输出的方法
2015/04/16 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
2015/08/27 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
总结Node.js中的一些错误类型
2016/08/15 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
Bootstrap整体框架之JavaScript插件架构
2016/12/15 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
2019/09/18 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
vscode调试node.js的实现方法
2020/03/22 Javascript
人机交互程序 python实现人机对话
2017/11/14 Python
python在线编译器的简单原理及简单实现代码
2018/02/02 Python
Opencv+Python 色彩通道拆分及合并的示例
2018/12/08 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
python aiohttp的使用详解
2019/06/20 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
Python实现简单猜数字游戏
2021/02/03 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
HTML+CSS+JavaScript实现图片3D展览的示例代码
2020/10/12 HTML / CSS
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
物流管理专业职业生涯规划书
2014/01/06 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
黄河绝恋观后感
2015/06/08 职场文书
2016年第十四个公民道德宣传日活动总
2016/04/01 职场文书
关于感恩的作文
2019/08/26 职场文书
Golang中异常处理机制详解
2021/06/08 Golang
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL