Django的:如何读取嵌套URL正则表达式
问题描述:
我有这样的主urls.py:Django的:如何读取嵌套URL正则表达式
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^([\w-]+)/foo/', include('foo.urls')),
)
而这foo.urls.py:
urlpatterns = patterns('',
url('([\w-]+)/$', FooList.as_view()),
)
foo.views.py
class FooList(ListView):
def get_queryset(self):
print self.args[0]
return Foo.objects.all()
当我去
http://localhost:8000/arg1/foo/arg2
我在FooList的get_queryset函数的self.args中只有'arg2'。我如何从这个乐趣中读取'arg1'?
答
从文档,它看起来像这应该按预期工作当您使用命名组(其最终成为的kwargs
代替args
):https://docs.djangoproject.com/en/1.7/topics/http/urls/#captured-parameters
因为这对命名组预期的行为,似乎有点古怪对我来说(显然对你来说,因为你发布了这个问题),它不适用于非命名组。不能说我也尝试过,但。希望文档链接有帮助。