2016-04-09 3 views
0
def get(self , request , format=None): 
    body = request.data 
    name = body.get('name',"The_Flash") 

В этом случае я жёстко значение The_Flash если request.data не получает никакого значения для имени, но я знаю, что это не звук способ , Я хочу, чтобы это было добавлено как переменная в файле settings.py моего проекта django. Я просмотрел ссылки от SO, как this, и несколько других, но это не то, что я хочу. Может кто-нибудь сказать мне, что является самым надежным способом сделать это. Я использую Django 1.8.добавить переменные в настройках, которые будут использоваться в представлениях - Django

+0

Не могли бы вы объяснить, почему вы считаете, что это не «звук»? Разве этот подход более читабельен, чем доступ к константе? –

+0

Hardcoding - это не правильный путь. Это может быть не единственный случай, когда мне это нужно. Если я буду держать вещи жестко закодированными, в случае, если я хочу изменить это твердое значение, мне придется изменить все экземпляры, которые не могут быть осуществимы, если я работаю с большим количеством таких экземпляров. –

+0

Как насчет этого подхода https://gist.github.com/aswinpj/baf79d2f1ff212b8552d7164ce1bd5a5 –

ответ

3

Мы стремимся хранить Настройки переменных в модуле в приложении называется app_settings.py, и использовать это, чтобы установить значения по умолчанию для настроек и позволяет пользователю переопределить их в 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' 

Это позволяет изменить его в развертывании и т.д.

1

Вы можете хранить константы в отдельный файл и импортировать его в свой проект

папки/

appconfigurations.py 
views.py 

appconfigurations.py

YOUR_CONSTANT = "constant_value" 

views.py

from appconfigurations import * 

def your_view(request): 
    constant = YOUR_CONSTANT 
Смежные вопросы