我在主 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
由于这是命名组的预期行为,因此对我来说(并且对您来说很明显,因为您发布了这个问题)似乎有点奇怪,它不适用于非命名组。但也不能说我已经尝试过。希望文档链接有帮助。
关于python - Django:如何读取嵌套的 url 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26287902/