Django的URLconf中使用缺省视图参数的方法


Posted in Python onJuly 18, 2015

一个方便的特性是你可以给一个视图指定默认的参数。 这样,当没有给这个参数赋值的时候将会使用默认的值。

例子:

# urls.py

from django.conf.urls.defaults import *
from mysite import views

urlpatterns = patterns('',
  (r'^blog/$', views.page),
  (r'^blog/page(?P<num>\d+)/$', views.page),
)

# views.py

def page(request, num='1'):
  # Output the appropriate page of blog entries, according to num.
  # ...

在这里,两个URL表达式都指向了同一个视图 views.page ,但是第一个表达式没有传递任何参数。 如果匹配到了第一个样式, page() 函数将会对参数 num 使用默认值 "1" ,如果第二个表达式匹配成功, page() 函数将使用正则表达式传递过来的num的值。

(注:我们已经注意到设置默认参数值是字符串 `` ‘1'`` ,不是整数`` 1`` 。为了保持一致,因为捕捉给`` num`` 的值总是字符串。

就像前面解释的一样,这种技术与配置选项的联用是很普遍的。 以下这个例子比提供视图配置选项一节中的例子有些许的改进。

def my_view(request, template_name='mysite/my_view.html'):
  var = do_something()
  return render_to_response(template_name, {'var': var})

Python 相关文章推荐
Python的Flask框架中实现简单的登录功能的教程
Apr 20 Python
python计算牛顿迭代多项式实例分析
May 07 Python
Python中操作文件之write()方法的使用教程
May 25 Python
使用Python保存网页上的图片或者保存页面为截图
Mar 05 Python
Python金融数据可视化汇总
Nov 17 Python
python3 requests中使用ip代理池随机生成ip的实例
May 07 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
Jun 25 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
关于pymysql模块的使用以及代码详解
Sep 01 Python
python 进程间数据共享multiProcess.Manger实现解析
Sep 23 Python
关于numpy中eye和identity的区别详解
Nov 29 Python
Python标准库:内置函数max(iterable, *[, key, default])说明
Apr 25 Python
Python的Django框架中URLconf相关的一些技巧整理
Jul 18 #Python
在Django框架中伪造捕捉到的URLconf值的方法
Jul 18 #Python
Django中传递参数到URLconf的视图函数中的方法
Jul 18 #Python
在Django的URLconf中使用命名组的方法
Jul 18 #Python
在Django的URLconf中使用多个视图前缀的方法
Jul 18 #Python
在Django的URLconf中进行函数导入的方法
Jul 18 #Python
在Django的form中使用CSS进行设计的方法
Jul 18 #Python
You might like
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
PHPCMS V9 添加二级导航的思路详解
2016/10/20 PHP
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
采用call方式实现js继承
2014/05/20 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
2015/09/09 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
2016/12/08 Javascript
Angularjs 动态改变title标题(兼容ios)
2016/12/29 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
微信JS-SDK updateAppMessageShareData安卓不能自定义分享详解
2019/03/29 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
2019/08/12 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
Vue的自定义组件不能使用click方法的解决
2020/07/28 Javascript
[47:22]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[02:17]快乐加倍!DOTA2食人魔魔法师至宝+迎霜节活动上线
2019/12/22 DOTA
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
一篇文章读懂Python赋值与拷贝
2018/04/19 Python
PyQt5 pyqt多线程操作入门
2018/05/05 Python
Python 如何测试文件是否存在
2020/07/31 Python
Python ConfigParser模块的使用示例
2020/10/12 Python
python实现在列表中查找某个元素的下标示例
2020/11/16 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
HTML5地理定位实例
2014/10/15 HTML / CSS
意大利会呼吸的鞋:Geox健乐士
2017/02/12 全球购物
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
超市业务员岗位职责
2013/12/05 职场文书
半年思想汇报
2013/12/30 职场文书
安全保卫工作竞聘材料
2014/08/25 职场文书
工作简历自我评价
2015/03/11 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书