通过视图动态改变django的DEBUG模式

时间:2014-07-10 15:56:27

标签: python django

我写了一个视图来切换setting.DEBUG变量。希望为我的网站启用和禁用Django的DEBUG功能。

from myApp import settings
def toggleDEBUGView(request):
    if request.user.is_superuser:
        settings.DEBUG = not(settings.DEBUG)

我在settings.py中设置了DEBUG=False。即使DEBUG通过我的自定义视图设置为true也是如此。我仍然得到服务器错误(500)

1 个答案:

答案 0 :(得分:1)

让我们从Django文档中引用一些事情 https://docs.djangoproject.com/en/dev/topics/settings/#using-settings-in-python-code

1)django.conf.settings不是一个模块 - 它是一个对象:这也是一个元组。因为我们知道元组位置值不能被改变,因为它是一个不可变的对象。

2)最早包含设置:这意味着启动服务器时正在创建设置对象。

在我看来,设置内容/变量只有在重新加载我认为是非平凡问题的设置时才能在运行时更改。

这也有助Changing Django settings at runtime

如果您通过任何简短的媒介达到此目的,请告诉我。这对我也很有帮助:))