问题
This is a very beginner question. But I'm stumped. How do I reference a Django settings variable in my model.py?
NameError: name 'PRIVATE_DIR' is not defined
Also tried a lot of other stuff including 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)
What's the correct way to do this?
回答1:
Try with this: from django.conf import settings
then
settings.VARIABLE
to access that variable.
回答2:
from django.conf import settings
PRIVATE_DIR = getattr(settings, "PRIVATE_DIR", None)
Where it says None
, you will put a default value incase the variable isn't defined in settings.
来源:https://stackoverflow.com/questions/7867797/how-do-i-reference-a-django-settings-variable-in-my-models-py