我正在尝试掌握Django URL namespaces的窍门。但我找不到任何示例或文档。
这是我尝试过的。
网址.py:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'^foo/', include('sub_urls', namespace='foo', app_name='foo')),
(r'^bar/', include('sub_urls', namespace='bar', app_name='bar')),
)
sub_urls.py:
from django.conf.urls.defaults import patterns, url
from views import view1
urlpatterns = patterns('views',
url(r'^(?P<view_id>\d+)/$', view1, name='view1')
)
视图.py:
from django.shortcuts import render_to_response
def view1(request, view_id):
return render_to_response('view1.html', locals())
在 view1.html 中,{% url foo:view1 3 %} 输出 /foo/3,{% url bar:view1 3 %} 输出 /bar/3。无论我浏览到 /foo/X 还是 /bar/X,这都是正确的。
我想要的是能够浏览到 /foo/X 或 /bar/X,并让 {% url view1 3 %} 分别输出 /foo/3 或 /bar/3。