Как я могу ссылаться на переменную настроек Django в моем models.py? - PullRequest
96 голосов
/ 23 октября 2011

Это очень начинающий вопрос.Но я в тупике.Как мне ссылаться на переменную настроек Django в моем model.py?

NameError: name 'PRIVATE_DIR' is not defined

Также пробовал много других вещей, включая settings.PRIVATE_DIR

settings.py:

PRIVATE_DIR = '/home/me/django_projects/myproject/storage_dir'

models.py:

# Problem is here.
from django.core.files.storage import FileSystemStorage

fs = FileSystemStorage(location=PRIVATE_DIR)

class Customer(models.Model): 
    lastName = models.CharField(max_length=20) 
    firstName = models.CharField(max_length=20) 
    image = models.ImageField(storage=fs, upload_to='photos', blank=True, null=True)

Какой правильный способ сделать это?

Ответы [ 2 ]

220 голосов
/ 23 октября 2011

Попробуйте с этим: from django.conf import settings затем settings.VARIABLE для доступа к этой переменной.

73 голосов
/ 31 января 2013
from django.conf import settings

PRIVATE_DIR = getattr(settings, "PRIVATE_DIR", None)

Там, где написано None, вы поместите значение по умолчанию, если переменная не определена в настройках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...