我在主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'?
答案 0 :(得分:1)
从文档中看,当您使用命名组(最终为kwargs
而不是args
)时,它应该按预期工作:https://docs.djangoproject.com/en/1.7/topics/http/urls/#captured-parameters
由于这是命名组的预期行为,对我来说(对你来说很明显,因为你发布了这个问题)它对于非命名组不起作用。但不能说我已尝试过。希望文档链接有所帮助。