Django:暂时将所有URL重定向到一个视图

Fil*_*lip 2 python django redirect

我正在构建网站,并认为有一些维护页面,如果需要我可以重定向用户,这将是很好的.

如何开始将所有请求重定向到一个特定视图?我正在使用Constance在我的管理视图中进行维护切换(只是一个bool值).然后可以通过该项目获得其价值.

我已经准备了另一个列表,urlpatterns但无法弄清楚如何动态更改它们以便重定向工作.

maintenance_urlpatterns = [
    url(r'^$', views.maintenance, name='maintenance'),
]
Run Code Online (Sandbox Code Playgroud)

这是urls.py应用程序中的文件,而不是我将单独留下的项目.

我还想过以base.html这种方式修改模板和渲染"维护页面",但我认为这是非常糟糕的解决方案.

编辑:澄清.我的主要问题不是如何编写将捕获所有流量的urlpattern,而是如何动态编辑这些以响应Constance配置更改.所以我可以在管理员中切换它.

Dan*_*owe 6

您问题中的正则表达式只会匹配/(您网站的根目录).如果你想抓住一切,只需使用^.每个URL都有一个开头,因此^始终匹配.

url(r'^', views.maintenance, name='maintenance')
Run Code Online (Sandbox Code Playgroud)

当然,这取决于您的正常urlpatterns以某种方式被禁用.听起来好像你已经覆盖了它.