Django - Fabric & collecstatic - 无法打开文件 'manage.py
我刚开始使用Fabric来搭建Django的生产服务器。
这是我的 fabfile.py
文件
from fabric.api import *
env.hosts = ['me@myserver.net']
def srefresh():
with path('~me/myproject'):
run('python manage.py collectstatic')
sudo('apachectl restart')
这是运行结果
$ fab srefresh
[me@myserver.net] 正在执行任务 'srefresh'
[me@myserver.net] 运行: python manage.py collectstatic
[me@myserver.net] 输出: python: 无法打开文件 'manage.py': [Errno 2] 没有那个文件或目录
我哪里做错了?
(不太确定我是否正确使用了 with
上下文管理器)
2 个回答
0
你试过这样做吗
run('python ./manage.py collectstatic')
另外,检查一下manage.py的权限
1
其实,这在文档里写得很清楚。fabric.context_managers.path
是用来修改 PATH 变量的。fabric.context_managers.cd
可以用来改变远程目录。所以在你的情况下:
def srefresh():
with cd('~me/myproject'):
run('python manage.py collectstatic')
这样做就可以了。