2016-03-19 13 views
1

Görünümlerim şişirilmiş ve tüm küçük .py dosyalarına sahip bir ./views dizini oluşturarak küçük modüller halinde kesmeye karar verdim.__init.py__ neden görüşlerimi içe aktarmıyor?

File "/path/to/the/app/views/__init__.py", line 1, in <module> 
    from my_view import my_view 
ImportError: No module named 'my_view' 

Benim ./views dizin __init__.py içeren, birkaç satır olduğunu:

def my_view(request): 
    #etc... 

: tabii

from my_view import my_view 
from my_other_view import my_other_view 
#etc... 

./views/my_view.py benziyor ben testi web sunucusu başlattığınızda İşte ne olsun Belli ki bir şeyi gözden kaçırdım, ama ne olduğunu düşünemiyorum. Yaptığım hatayı görebiliyor musun?

cevap

1

Görüntüleme sayısı PYTHON_PATH'unuzda yok sanırım. Hangisi doğru. Ancak bu göreceli piton ithalatı kullanmalıdır gelir: Projeniz kökünden

from .my_view import my_view # note the leading dot 

Ya mutlak ithalat (sizin PYTHON_PATH içinde olmalıdır):

from myapp.views.my_view import my_view 
+0

> Merci mon ami! – Escher

İlgili konular