2015-01-25 12 views
7

BASE_DIR, settings.py'den terminaldeki django uygulamasından nasıl yazdırılır? i test1.py dosyasında aşağıdaki kodu vardır:BASE_DIR, settings.py'den terminaldeki django uygulamasından nasıl yazdırılır?

import os 
import django 
import settings 

print BASE_DIR 

ama hata yazdırır:

File "test1.py", line 5, in <module> 
    print BASE_DIR 
NameError: name 'BASE_DIR' is not defined 

Amacım Django projesi tarafından kullanılır ne dir görmek için BASE_DIR değerini yazmaktır.

Sen ithal modülün özelliği yazdırmalısınız
+0

Birisi, bu soru üzerinde neden negatif puan aldığımı açıklayabilir mi? – user1406647

+0

Django'yu yanlış şekilde kullandığınızdan. Eğer 'test1.py'de gerçek django kodu yazmayı denerseniz, bu kod başarısız olur. – catavaran

+0

kullanmıyorum, deneyiyorum ve öğreniyorum. – user1406647

cevap

8

:

print settings.BASE_DIR 

Ya modülden bu değişkeni içe:

from settings import BASE_DIR 

print BASE_DIR 
+3

Her zaman [import 'django.conf.settings'] öğesini (https://docs.djangoproject.com/en/1.7/topics/settings/#using-settings-in-python-code) yapmalısınız. Bu, ayarlarınızın etrafında herhangi bir varsayılan değeri dolduracak ve siteye özgü ayarlar için destek sağlayan bir sarmalayıcı nesnesidir. Bu bir sarmalayıcı nesnesi olduğundan ve bir modül olmadığı için, 'django.conf.settings içe aktarma BASE_DIR 'öğesinden kullanamazsınız. – knbk

+0

Hayır. 'Django.conf'dan' ayarları''ı almaya çalışırsanız, 'ImproperlyConfigured' istisnası atılır. – catavaran

+1

Bu, ayarlarınızın hatalı yapılandırıldığı ve düzeltmeniz gerektiği veya ayar modülünü ayarlamadığınız anlamına gelir. Her ikisi de yapmanız gereken kolay bir düzeltme. Bu, Django'nun tam olarak bunun için uygun mekanizmaları atlamak için bir sebep değil. – knbk

7

Bu komutlar yardımcı olacaktır: Sonra

python manage.py shell 

yılında python kabuk tipi:

from django.conf import settings 
print(settings.BASE_DIR)