Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django assertTemplateUsed()引发Jinja模板异常_Python_Django_Testing_Jinja2_Assert - Fatal编程技术网

Python Django assertTemplateUsed()引发Jinja模板异常

Python Django assertTemplateUsed()引发Jinja模板异常,python,django,testing,jinja2,assert,Python,Django,Testing,Jinja2,Assert,当我尝试运行此测试时: from django.test import TestCase from django.core.urlresolvers import reverse from django.test import Client class StatisticTest(TestCase): def setUp(self): self.client = Client() def test_schedule_view(self): ur

当我尝试运行此测试时:

from django.test import TestCase
from django.core.urlresolvers import reverse
from django.test import Client

class StatisticTest(TestCase):
    def setUp(self):
        self.client = Client()

    def test_schedule_view(self):
        url = reverse('schedule')
        response = self.client.get(url)
        self.assertEqual(response.status_code, 200)
        self.assertTemplateUsed(response, 'schedule.html')
我得到断言错误:没有用于呈现响应的模板

我的观点是:

class Schedule(View):
    def get(self, request):
        games = add_team_info(query.get_current_schedule())
        if games is not []:
             available_schedules = generate_schedule_list(games[0]["season_type"], games[0]["week"])
             is_available = True
        else:
             available_schedules = []
             is_available = False
        return render_to_response("schedule.html", 
                              {"games": games, "available_schedules": available_schedules, "is_available": is_available})
和url.py:

url(r'^schedule/$', views.Schedule.as_view(), name='schedule'),

您的问题是,
assertTemplateUsed
仅适用于Django模板,而不适用于Jinja模板


关于这个问题有一个公开的问题。

模板在您的项目目录中的什么位置?在文件夹“templates”中。我在setting.py(TEMPLATES=[{“BACKEND”:“django_jinja.BACKEND.Jinja2”,'DIRS':[os.path.join(BASE_DIR,'TEMPLATES'),])中编写它您需要更改模板目录有什么原因吗?您应该可以在应用程序中创建一个模板目录,以便Django查找。您的断言错误与Django TDD手册中的错误非常相似:这表示Django找不到模板。如果我在应用程序中创建了模板目录,请移动我的temp延迟到此目录,并将其添加到settings.py中,但我收到相同的错误。不支持此操作。有关详细信息,请参阅讨论。是的,你是对的。我尝试打印响应。模板,然后打印空列表。谢谢