urlpatterns 中的 Django 请求

Django request inside urlpatterns

我有一些自定义变量传递给来自自定义中间件的请求。现在我需要包含一些基于自定义变量值的应用程序 url。所以我想得到这样的东西:

urlpatterns = patterns('',
    if request.myvar != False:
        url(r'^', include('specialapp.urls')),
    url(r'^', include('basicapps.urls')),
)

尽管@knbk 评论似乎是正确的方法,但还有另一种方法可以解决您的问题:

urlpatterns = patterns('',
    url(r'^', include('basicapps.urls')),
)

if request.myvar != False:
    urlpatterns.append(url(r'^', include('specialapp.urls')))

顺便说一句,它不会改变你的意图。我只是在 urlpatterns 元组之外检查 request.myvar 并在 request.myvar 不等于 False 时附加正确的 url。