如何在models.py中引用Django设置变量?

时间:2011-10-23 17:23:56

标签: django django-models django-settings

这是一个非常初学的问题。但我很难过。如何在我的model.py中引用Django设置变量?

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 个答案:

答案 0 :(得分:211)

试试这个:from django.conf import settings然后 settings.VARIABLE访问该变量。

答案 1 :(得分:71)

from django.conf import settings

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

如果显示None,则在设置中未定义变量时,您将设置默认值。