当我使用fabric在远程服务器上运行测试时,出现错误信息:
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py", line 138, in find_template
raise TemplateDoesNotExist(name)
TemplateDoesNotExist: index.html
我正在尝试使用“render_to_string()”将模板呈现为字符串 如果我登录到服务器并手动运行测试(python manage.py测试应用程序),它正常工作。在通过结构运行时会发生此错误。
这是我的面料代码:
from __future__ import with_statement
from fabric.api import local
import os
from fabric.api import *
env.hosts = ['server.com']
production_project_path = '/path/to/production/app/'
def run_remote_test():
run("python %s/manage.py test app"%production_project_path)
我错过了什么吗? 注意:我没有使用虚拟环境
答案 0 :(得分:1)
然后让我们做这个官方。 ;)
在这种情况下,问题是manage.py期望从项目目录中运行,因此重写以上内容:
from __future__ import with_statement
from fabric.api import local
import os
from fabric.api import *
env.hosts = ['server.com']
production_project_path = '/path/to/production/app/'
def run_remote_test():
with cd(production_project_path):
run("python manage.py test app")
解决了这个问题。