__Ekleme kodu init__.py
Django model sistemin nasıl çalıştığına bir göz alıyorum ve anlamadığım bir şey fark ettim.
Geçerli dizin bir paket olduğunu belirtmek için __init__.py boş bir dosya oluşturmak olduğunu biliyorum. Ve __init__.py bazı değişken ayarlayabilirsiniz * işleri düzgün al.
Ama django tablolar ithalat ve __init__.py bir sürü ders tanımlar bir sürü ekler. Neden? Bu işler karışık göstermemiş mi? __init__.py bu kod gerektiren bir sebep var mı?
CEVAP
__init__.py tüm ithalat içeren paket (dizin) aldığınızda kullanılabilir.
Örnek:
./dir/__init__.py:
import something
./test.py:
import dir
# can now use dir.something
EDİT: söylemeyi unutmuşum, __init__.py kod dizininden herhangi bir modülü içe ilk kez çalışır. Normalde seviye paketi hazırlama herhangi bir kod koymak için iyi bir yerdir.
EDİT2: dgrant benim örnekte olası bir karışıklığa işaret etti. 14* import something *ithalat herhangi bir modülü, paket gerekli değil. Örneğin, import datetime, o zaman bizim üst düzey test.py ile hem bu parçacıkları çalışır: değiştirebiliriz
import dir
print dir.datetime.datetime.now()
ve
import dir.some_module_in_dir
print dir.datetime.datetime.now()
Sonuç: tüm atanan isimler __init__.py, ithal modüller, fonksiyonlar ya da sınıflar, otomatik olarak kullanılabilir paket ad her aldığınız paket veya modül paketi.

C kodu C 03 C ve 11 de geçerli ama far...
C dönüştürmek için etkili bir araçtır#...
Kodu nasıl Visual C kullanarak arkasın...
Nasıl bir dize Python Python kodu içer...
Nasıl saklı yordam için tablo değerli ...