web-dev-qa-db-ja.com

models.pyでDjango settings変数を参照するにはどうすればよいですか?

これは非常に初心者の質問です。しかし、私は困惑しています。 model.pyでDjango settings変数を参照するにはどうすればよいですか?

NameError: name 'PRIVATE_DIR' is not defined

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)

これを行う正しい方法は何ですか?

97
codingJoe

これで試してください:from Django.conf import settingsその後settings.VARIABLEその変数にアクセスします。

226
juankysmith
from Django.conf import settings

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

Noneと書かれている場合、変数が設定で定義されていない場合に備えてデフォルト値を設定します。

75
HelpyHelperton