How do I reference a Django settings variable in m

2020-02-16 07:46发布

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?

2条回答
聊天终结者
2楼-- · 2020-02-16 08:21
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.

查看更多
不美不萌又怎样
3楼-- · 2020-02-16 08:34

Try with this: from django.conf import settings then settings.VARIABLE to access that variable.

查看更多
登录 后发表回答