2010年08月24日 星期二 15:55
请教个问题,
为了项目共用app,建议的Django项目层级结构为:
Suggested Project layout
建立一个project(名为cms)之后,在cms同一个目录下(alongside cms not inside cms)手动创建了coltrane作为app(含models.py views.py admin.py),然后在cms的settings.py里INSTALL_APPS里加上'coltrane',python manage.py syncdb时提示不能找到coltrane模块,书上的解释好像跟Python的path有关,怎么解决?
也就是上面层级结构的externals_apps如何在Projects里面使用的问题。
本例结构:
/cms/ #cms是一个project
__init__.py
settings.py
manage.py
urls.py
/coltrane/ #coltrane是一个app
__init__.py
models.py
views.py
admin.py
2010年08月24日 星期二 17:01
问题已解决:
settings.py中前面加入了:
import sys
sys.path = [str(sys.path[0]) + "/../"] + sys.path
后面的INSTALLED_APPS = ( 'coltrane',)就可以直接使用了。
2010年08月24日 星期二 17:05
但有一个问题:假如有多个peoject 如何通用外部的app?总不能在每个project的settings.py下都加入上面的红色的代码吧?
也就是:
projects 如何通用external_apps?就是里面那个NOTE: These apps can also live anywhere on your PYTHONPATH 如何实现?
2010年08月25日 星期三 11:12
可以考虑外部app做成安装包,这样多个project就可以共用了。
Zeuux © 2024
京ICP备05028076号