我正在构建网站,并认为如果需要的话,我可以在某种维护页面重定向用户。
如何开始将所有请求重定向到一个特定视图?我正在使用Constance在我的管理视图中进行维护切换(只是一个bool值)。然后可以通过该项目获得其价值。
我已经准备了另一个urlpatterns
列表,但无法弄清楚如何动态更改它们以便重定向工作。
maintenance_urlpatterns = [
url(r'^$', views.maintenance, name='maintenance'),
]
这是来自应用的urls.py
文件,而不是我将单独留下的项目。
我还考虑过修改base.html
模板并以这种方式呈现“维护页面”,但我认为这是非常糟糕的解决方案。
编辑:澄清。我的主要问题不是如何编写将捕获所有流量的urlpattern,而是如何动态编辑这些以响应Constance配置更改。所以我可以在管理员中切换它。
答案 0 :(得分:5)
您问题中的正则表达式只会在/
(您网站的根目录)上匹配。如果您想捕捉所有内容,请仅使用^
。每个网址都有一个开头,因此^
始终匹配。
url(r'^', views.maintenance, name='maintenance')
当然,这取决于您的正常网址是否以某种方式被禁用。听起来好像你已经覆盖了它。