2011-10-23 16 views
66

Bu çok yeni başlayan bir sorudur. Ama ben güldüm. Model.py'imdeki bir django ayarları değişkenine nasıl başvurabilirim?Modellerimdeki bir django ayar değişkeni nasıl referans gösterebilirim?

NameError: adı 'PRIVATE_DIR' Ayrıca settings.PRIVATE_DIR

Bunu yapmanın doğru yolu nedir dahil olmak üzere diğer bir sürü şey denedik tanımlanmamıştır?

--------- settings.py -------------

PRIVATE_DIR = '/home/me/django_projects/myproject/storage_dir' 

--------- model.py-- ------------- bununla

# 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) 
+6

'django.conf ithalat settings' den - https://docs.djangoproject.com/en/dev/topics/settings/#using-settings-in-python-code ben' ayarlarla başvurursanız çalışır – birryree

cevap

143

deneyin: değişken tanımlı değil örtmek from django.conf import settings

+16

Teşekkür .VAR' – codingJoe

+6

Alakalı bir şey var: Çeşitli ortamlarda konuşlandırılan bir projeden dolayı 'settings_something.py' birkaç örneğiniz varsa, 'application.settings'den içe aktarmaya çalışmayın. Diğer dosyalardaki yazılan değişkenler etkili olmaz. Her zaman bu cevapta belirtilen ithalatı kullanın. Projemde neler olup bittiğini anlamak birkaç saatimi aldı. –

+0

Bu, düzgün yapılandırılmışsa çalışır: ortam değişkeniyle DJANGO_SETTINGS_MODULE veya manage.py komut satırı parametresiyle --settings = .. Dokümanlarda daha fazlasını okuyun: https://docs.djangoproject.com/en/2.0/topics/settings / – mirek

54
from django.conf import settings 

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

o None diyor, sen varsayılan bir değer koyacağız ayarlarında

İlgili konular