【发布时间】:2009-08-21 00:59:43
【问题描述】:
我有一个 django 项目,它的布局是这样的......
- 我的项目
- 应用程序
- 媒体
- 模板
- django
- 注册
- 抱歉
- 排版
我想改成这个...
- 我的项目
- 应用程序
- 媒体
- 模板
- 站点部门
- django
- 注册
- 抱歉
- 排版
当我尝试它时,“站点依赖项”全部中断。有没有办法实现这个结构?我尝试将站点依赖添加到 PYTHONPATH 中,但并不高兴...
【问题讨论】:
我有一个 django 项目,它的布局是这样的......
我想改成这个...
当我尝试它时,“站点依赖项”全部中断。有没有办法实现这个结构?我尝试将站点依赖添加到 PYTHONPATH 中,但并不高兴...
【问题讨论】:
PYTHONPATH 按路径列出的顺序搜索
PythonPath "[ '/myproject', '/myproject/site-deps' ] + sys.path"
不一样
PythonPath "[ '/myproject/site-deps', '/myproject' ] + sys.path"
前一个命令失败;也许是因为它认为它已经查看了站点部门,并且没有再查看的意义。
后一种顺序有效。
【讨论】:
确保 site-dependencies、django、registration、sorl 和typogrify 都包含__init__.py 文件。
【讨论】:
你是如何导入站点依赖项下的包的?
与您的问题略有不同,但我从不喜欢 Django 的“默认”项目布局,所以我有一个脚本可以像这样布置我的项目:
myproject/
apps/
vendor/
vendor/django/
config/__init__.py
config/urls.py
config/settings/
config/settings/__init__.py
config/settings/base.py
config/settings/hostname.py
templates/
media/
script/manage.py
对包含的 manage.py 进行了调整,以将配置、应用程序和供应商添加到 python 路径(“myproject”本身不在 python 路径中)并导入 config/settings/hostname.py 作为设置模块(主机名将是计算机的实际主机名)。任何第 3 方应用程序都进入供应商(例如,django 本身),并且该项目的应用程序进入应用程序目录。
这有点不合常规,但我喜欢这种设置。
【讨论】: