166

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

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)

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

4

2 に答える 2

368

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

VARIABLEは大文字にする必要があります。それ以外の場合は機能しません。

于 2011-10-23T17:31:31.183 に答える
112
from django.conf import settings

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

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

于 2013-01-31T02:07:01.313 に答える