在Django的URLconf中使用多个视图前缀的方法

yipeiwu_com6年前Python基础

在实践中,如果你使用字符串技术,特别是当你的 URLconf 中没有一个公共前缀时,你最终可能混合视图。 然而,你仍然可以利用视图前缀的简便方式来减少重复。 只要增加多个 patterns() 对象,象这样:

旧的:

from django.conf.urls.defaults import *

urlpatterns = patterns('',
  (r'^hello/$', 'mysite.views.hello'),
  (r'^time/$', 'mysite.views.current_datetime'),
  (r'^time/plus/(\d{1,2})/$', 'mysite.views.hours_ahead'),
  (r'^tag/(\w+)/$', 'weblog.views.tag'),
)

新的:

from django.conf.urls.defaults import *

urlpatterns = patterns('mysite.views',
  (r'^hello/$', 'hello'),
  (r'^time/$', 'current_datetime'),
  (r'^time/plus/(\d{1,2})/$', 'hours_ahead'),
)

urlpatterns += patterns('weblog.views',
  (r'^tag/(\w+)/$', 'tag'),
)

整个框架关注的是存在一个名为 urlpatterns 的模块级别的变量。如上例,这个变量可以动态生成。 这里我们要特别说明一下,patterns()返回的对象是可相加的,这个特性可能是大家没有想到的。

相关文章

django框架实现模板中获取request 的各种信息示例

django框架实现模板中获取request 的各种信息示例

本文实例讲述了django框架实现模板中获取request 的各种信息。分享给大家供大家参考,具体如下: 在做网页程序时,request,response 是少不了的,这是最基本的东西。...

介绍Python的@property装饰器的用法

在绑定属性时,如果我们直接把属性暴露出去,虽然写起来很简单,但是,没办法检查参数,导致可以把成绩随便改: s = Student() s.score = 9999 这显然不合逻...

Python正则表达式教程之一:基础篇

前言 之前有人提了一个需求,我一看此需求用正则表达式最合适不过。考虑到之前每次使用正则表达式,都是临时抱佛脚,于是这次我就一边完成任务一边系统的学习了一遍正则表达式。主要参考PyCon2...

Python常见数字运算操作实例小结

本文实例讲述了Python常见数字运算操作。分享给大家供大家参考,具体如下: Python 解释器可以作为一个简单的计算器:您可以在解释器里输入一个表达式,它将输出表达式的值。 表达式的...

python快速编写单行注释多行注释的方法

python快速编写单行注释多行注释的方法

在python代码编写过程中,养成注释的习惯非常有用,可以让自己或别人后续在阅读代码时,轻松理解代码的含义。 如果只是简单的单行注释,可直接用“#”号开头,放于代码前面。 单行注释也可...