Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.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传递响应上下文无_Python_Django_Django Testing_Django Tests - Fatal编程技术网

Python django传递响应上下文无

Python django传递响应上下文无,python,django,django-testing,django-tests,Python,Django,Django Testing,Django Tests,在我的浏览器中,一切正常。直到我做个测试 这是我的民意测验/views.py from django.shortcuts import render from polls.models import Poll def index(request): latest_poll_list = Poll.objects.all().order_by('-pub_date') context = {'latest_poll_list':latest_poll_list} retu

在我的浏览器中,一切正常。直到我做个测试

这是我的民意测验/views.py

from django.shortcuts import render
from polls.models import Poll

def index(request):
    latest_poll_list = Poll.objects.all().order_by('-pub_date')
    context = {'latest_poll_list':latest_poll_list}
    return render(request,'polls/index.html',context)
polls/templates/polls/index.html

{% if latest_poll_list %}
    <ul>
    {% for poll in latest_poll_list %}
        <li>{{poll.question}}</li>
    {% endfor %}
    </ul>
{% else %}
    <p>No Poll Available</p>
{% endif %}
如您所见,我的
response.context['latest\u poll\u list']
始终是
[]


所以我想知道我的错在哪里?

如果在浏览器中获取了对象,这意味着您的视图是正常的,如果您的测试没有返回任何对象,您可能必须创建它们(测试使用Django从头开始自动创建的空数据库)。我通常在setUp()方法中创建示例对象:


好吧,从技术上讲,它起作用了。但是我想知道,如果我有很多表,我是否需要像这样一个一个地创建它们?感谢您可以使用fixture,但通常您不会对数千条记录进行测试,因此为每个测试创建两条记录是完全正常的。。。您正在编写单元测试,也就是说:应用程序中最简单、最细小的代码,您不必处理整个数据集:)好的,谢谢您的回答
from django.test import TestCase
from django.core.urlresolvers import reverse

class SimpleTest(TestCase):
    def test_this(self):
        response = self.client.get(reverse('polls.views.index'))
        print response.context
        print response.content
class SimpleTest(TestCase):

    def setUp(self):
        self.poll = Poll.objects.create()