0
在Django中我試圖將一個應用程序(所以只能應用在INSTALLED_APPS)分成若干子目錄,結構如下:Django的應用程序和子目錄
app
views.py
app\subdir1
views.py
app\subdir2
views.py
文件app \ views.py僅由
from subdir1.views import *
所以我將app.subdir1.views的命名空間摺疊到app.views中。然而,這不是期望的解決方案,我寧願用
import subdir1.views
,而不是崩潰的命名空間,但是這個結構使得Django的與錯誤抱怨「無法導入app.views.subdir1.json。父模塊app.views。 subdir1不存在。「 這當然是正確的,因爲該父模塊不存在。
所以我想提出的問題是:這個目錄結構可能與否?
我試過了,是的,該視圖可以工作,但是嘗試使用syncdb失敗,因爲app \ subdir1沒有被視爲應用程序。在installed_apps中添加app \ subdir1修復了這個問題......但這是我想避免的部分。 – Paul 2012-07-27 10:10:28
如果你只是在你的子目錄中提供視圖,你就不會有這個問題。如果你有模型,那麼除了將它添加到INSTALLED_APPS之外沒有別的辦法。 – 2012-07-27 10:19:16
你已經死了Torsten,我發現它不起作用,但我無法解釋它爲什麼不起作用。因爲在應用程序中,我放置了一個models.py woth行,如:from subdir1.models import * ,據我所知,這會將該subdir1的作用域「解散」到應用程序範圍中。所以可能有些人會爲我學習;-) – Paul 2012-07-27 18:06:46