我在主urls.py中有这个:
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
由于这是命名组的预期行为,所以对我来说(对您来说很明显,因为您已经发布了此问题,这对非命名组不起作用)。不过不能说我也尝试过。希望文档链接能对您有所帮助。