我做這樣的事情在其他myproject.myapp.urls
URL模式:Django的:包括在一個urls.py
from django.conf.urls.defaults import *
urlpatterns = patterns('myproject.myapp.views',
(ur'^$', 'index'),
(ur'^browse/$', 'browse'),
(ur'^request/new/$', 'new_request'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/$', 'view1'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/asdf$', 'view2'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/qwer$', 'view3'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/zxcv$', 'view4'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/tyui$', 'view5'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/ghjk$', 'view6'),
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/bnm/more-looong-url/$', 'view7'),
...
)
我試圖重構上面的規則,並定義它們在另一個文件urls2.py
這樣的:
(ur'^(?P<url_key>[-a-zA-Z0-9]+)/', include('myproject.myapp.urls2')),
但它似乎導致單元測試包括urlresolvers問題。
有沒有更好的方法在這裏「重構」正則表達式的公共部分(<url_key>
)?
沒有它會導致什麼問題?使用include('')通常非常簡單。你能描述一下它給出的錯誤,或者輸出與你期望的不同嗎? – anschauung 2009-07-15 02:15:48