我有一个像这样布局的django项目......
我想把它改成这个......
当我尝试它时,'site-dependencies'全部中断。有没有办法实现这个结构?我试着在没有喜悦的情况下向PYTHONPATH添加site-deps ......
答案 0 :(得分:3)
这看起来像是virtualenv的工作。
答案 1 :(得分:1)
PYTHONPATH按照列出路径的顺序搜索
PythonPath "[ '/myproject', '/myproject/site-deps' ] + sys.path"
与
不同PythonPath "[ '/myproject/site-deps', '/myproject' ] + sys.path"
以前的命令失败了;也许是因为它已经看过它已经看过网站,并且没有必要再看了。
后一种命令有效。
答案 2 :(得分:0)
确保站点依赖项,django,registration,sorl和typogrify都包含__init__.py
个文件。
答案 3 :(得分:0)
如何在站点依赖项下导入包?
稍微偏离你的问题主题,但我从不喜欢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作为设置模块(其中hostname将是计算机的实际主机名)。任何第三方应用程序都在供应商中(例如,django本身),此项目的应用程序将进入apps目录。
这有点不同寻常,但我喜欢这个设置。