【问题标题】:Dynamically changing DEBUG mode of django via a view通过视图动态改变 django 的 DEBUG 模式
【发布时间】:2014-09-01 02:21:29
【问题描述】:

我编写了一个视图来切换 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)

【问题讨论】:

标签: python django


【解决方案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

如果您通过任何缺乏媒介实现了这一目标,请告诉我。这对我也有很大的帮助:)

【讨论】:

    猜你喜欢
    • 2020-09-11
    • 1970-01-01
    • 2015-09-25
    • 2022-08-15
    • 2021-07-26
    • 1970-01-01
    • 2017-12-24
    • 2020-01-23
    相关资源
    最近更新 更多