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

因为这对命名组预期的行为,似乎有点古怪对我来说(显然对你来说,因为你发布了这个问题),它不适用于非命名组。不能说我也尝试过,但。希望文档链接有帮助。