Django - django.conf.settings'i içe aktarma ve ayarları içe aktarma arasındaki fark


100

Bir Django uygulamasında aşağıdaki içe aktarma ifadeleri arasındaki temel fark nedir?

import settings

ve

from django.conf import settings

1
+1 çünkü Django geliştirmede kimin yeni olduğu için çok ilginç bir soru.

Yanıtlar:


134
import settings

Django projenizin ayarlarını (.py) modülünü içe aktaracak (eğer bu kodu uygulamanızın "kök" paketinden yazıyorsanız, tabii ki)

from django.conf import settings

Django.conf paketinden (Django'nun sağladığı dosyalar) ayarlar nesnesini içe aktarır. Bu önemli çünkü

[..] kodunuzun global_settings veya kendi ayarlar dosyanızdan içe aktarılmaması gerektiğini unutmayın. django.conf.settings, varsayılan ayarların ve siteye özgü ayarların kavramlarını özetler; tek bir arayüz sunar. Ayrıca, ayarları kullanan kodu ayarlarınızın konumundan ayırır.

GÜNCELLEME: Bazı kendi ayarlarını tanımlamak istiyorsanız , belgelerin bu bölümüne bakın


4
Bilginize, global_settings django.conf paketindeki başka bir modüldür. Belgelerin dediği gibi, kullanmayın.

3
from django.conf import settingsBirim testi sırasında da ayarların üzerine yazabilmek istiyorsanız kullanmanın kritik olduğunu unutmayın.
Joris

4
Ayrıca tüm ayar adlarının büyük harf olması gerektiğini unutmayın . Senin bir var olup olmadığını kendisine, my_varayarlarınızda sonra bu başarısız olur: from django.conf import settings... settings.my_var. Ama adını MY_VARkoyarsanız başarılı olur!
nik_m
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.