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