web-dev-qa-db-fra.com

Comment référencer une variable de paramètres Django dans mon models.py?

Ceci est une question très débutant. Mais je suis perplexe. Comment référencer une variable de paramètres Django dans mon fichier model.py?

NameError: name 'PRIVATE_DIR' is not defined

Aussi essayé beaucoup d'autres choses, y compris 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)

Quelle est la bonne façon de faire cela?

97
codingJoe

Essayez avec ceci: from Django.conf import settings puis settings.VARIABLE pour accéder à cette variable.

226
juankysmith
from Django.conf import settings

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

Où il est écrit None, vous utiliserez une valeur par défaut si la variable n'est pas définie dans les paramètres.

75
HelpyHelperton