在视图中使用的设置中添加变量 - Django

add variables in settings to be used in views - Django

def get(self , request , format=None):
    body = request.data
    name = body.get('name',"The_Flash")

在这种情况下,如果 request.data 没有收到 name 的值,我已将值 The_Flash 硬编码,但我知道这不是一个好的方法。我希望将其作为变量添加到我的 django 项目的 settings.py 文件中。我浏览了 SO 的参考文献,例如 this 和其他一些人,但这不是我想要的。有人能告诉我这是最可靠的方法吗?我正在使用 Django 1.8。

您可以将常量存储在单独的文件中并将其导入到您的项目中

文件夹/

appconfigurations.py
views.py

appconfigurations.py

YOUR_CONSTANT = "constant_value"

views.py

from appconfigurations import *

def your_view(request):
    constant = YOUR_CONSTANT

我们倾向于将设置变量存储在名为 app_settings.py 的应用程序模块中,并使用它来设置设置的默认值并允许用户在 Django 的 settings.py:

# app_settings.py
from django.conf import settings

MY_SETTING = getattr(settings, 'APP_NAME_MY_SETTING', 'the_default_value')

然后在您的视图中导入并使用它:

# views.py
from app_settings import MY_SETTING

并且用户可以在他们的项目设置中覆盖它:

# project's settings.py
APP_NAME_MY_SETTING = 'something else'

这允许您根据部署等更改它。