Тесты для приложения django выдают ошибку шаблона не найден для "render_to_string" при выполнении через Fabric - PullRequest
0 голосов
/ 13 декабря 2011

Когда я запускаю тесты на своем удаленном сервере с использованием 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)

Я что-то пропустил?Примечание: я не использую виртуальную среду

1 Ответ

1 голос
/ 13 декабря 2011

Тогда давайте сделаем это официальным. ;)

В этом случае проблема заключалась в том, что 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")

исправил проблему.

...