我正在尝试掌握Django URL命名空间。但是我找不到任何示例或文档。
以下是我尝试过的内容。
urls.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')
)
views.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。