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中使用bidict模块双向字典结构的奇技淫巧
Jul 12 Python
python的pdb调试命令的命令整理及实例
Jul 12 Python
python3中zip()函数使用详解
Jun 29 Python
python 中如何获取列表的索引
Jul 02 Python
python 爬取学信网登录页面的例子
Aug 13 Python
python for循环remove同一个list过程解析
Aug 14 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
200行python代码实现贪吃蛇游戏
Apr 24 Python
python如何安装下载后的模块
Jul 03 Python
套娃式文件夹如何通过Python批量处理
Aug 23 Python
Python CategoricalDtype自定义排序实现原理解析
Sep 11 Python
OpenCV-Python实现怀旧滤镜与连环画滤镜
Jun 09 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
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
2007/03/06 Javascript
JS类的封装及实现代码
2009/12/02 Javascript
28个JS验证函数收集
2010/03/02 Javascript
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
js实现一键复制功能
2017/03/16 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
vue-cli创建的项目,配置多页面的实现方法
2018/03/15 Javascript
elementUI中Table表格问题的解决方法
2018/12/04 Javascript
JS实现的新闻列表自动滚动效果示例
2019/01/30 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
浅谈vue.watch的触发条件是什么
2020/11/07 Javascript
[01:19:46]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
python共享引用(多个变量引用)示例代码
2013/12/04 Python
举例讲解Python的Tornado框架实现数据可视化的教程
2015/05/02 Python
python距离测量的方法
2018/03/06 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
OpenCV+python实现实时目标检测功能
2020/06/24 Python
python3跳出一个循环的实例操作
2020/08/18 Python
CSS3实战第一波 让我们尽情的圆角吧
2010/08/27 HTML / CSS
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
详解快速开发基于 HTML5 网络拓扑图应用
2018/01/08 HTML / CSS
使用canvas来完成线性渐变和径向渐变的功能的方法示例
2019/07/25 HTML / CSS
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
满月酒答谢词
2014/01/14 职场文书
解除劳动合同协议书范本
2014/04/14 职场文书
商场促销活动策划方案
2014/08/18 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书
Jupyter notebook 不自动弹出网页的解决方案
2021/05/21 Python
mysql 获取时间方式
2022/03/20 MySQL
Mysql索引失效 数据库表中有索引还是查询很慢
2022/05/15 MySQL