我已经扩展了Site模型,我想为它添加一个参数,并将其命名为Activate Under Construction页面。
到目前为止它很简单,我想要做的是当该字段为True时,我希望除了/ admin /之外的每个url都被重定向到/ underconstruction / View ....我怎样才能做到这一点?
谢谢你, ARA
答案 0 :(得分:0)
您是否可以重新启动服务器以更改所述值?看起来你可以在urls.py中做一个条件重定向(即用条件值定义url_patterns变量,类似于某些人如果使用DEBUG,添加一些额外的url模式);
if (config.UNDER_CONSTRUCTION):
urlpatterns = patterns('',
url(r'^admin/$', admin),
url(r'^underconstruction/', 'something.views.underconstruction',name='underconstruction')
url(r'^.*$', RedirectView.as_view(url='underconstruction', permanent=False), name='uc')
) #defintely recommend making sure permanent not set to True
else:
urlpatterns = patterns('',
... #normal patterns go here
否则看起来你可能会重载RedirectView,但这意味着每个请求都需要检查变量并相应地进行路由)我觉得应该有另一种方法,但不要考虑它。