Search code examples
djangodjango-modelsdjango-settings

How do I reference a Django settings variable in my models.py?


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?


Solution

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

    VARIABLE should be in capital letter. It will not work otherwise.