在实践中,如果你使用字符串技术,特别是当你的 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()返回的对象是可相加的,这个特性可能是大家没有想到的。