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

这是一个非常初级的问题。但我被难住了。我如何引用我的 model.py 中的 Django 设置变量?

NameError: name 'PRIVATE_DIR' is not defined

还尝试了很多其他的东西,包括 settings.PRIVATE_DIR

设置:

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

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)

正确的做法是什么?

107743 次浏览

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

变量应该用大写字母,否则不起作用。

from django.conf import settings


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

在它说 None的地方,您将放置一个默认值,以防变量没有在设置中定义。