首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AssertionError: 302 != 200

AssertionError: 302 != 200
EN

Stack Overflow用户
提问于 2015-10-22 06:45:18
回答 2查看 5.8K关注 0票数 1

我试图在我的tests.py中创建一个测试

代码语言:javascript
复制
class TaskViewTests(TestCase):
    def test_task_view_with_no_task(self):
        """
        If no task exist, an appropriate message should be displayed.
        """
        userName = 'esutek'
        response = self.client.get(reverse('actuser:task',args=(userName,)))
        self.assertEqual(response.status_code, 200)
        self.assertContains(response, "No task are available.")
        self.assertQuerysetEqual(response.context['taskList'], [])

然而,它给了我这个错误消息。我不知道为什么会发生这种事。我只是按照教程做的。

actuser:任务views.py

代码语言:javascript
复制
def task(request, userName):
    """ User task list in actInbox
    """

    user = ActuserViewModel()
    user.get_task_list(userName)

    return render(request, 'actuser/task.html', {
                'userName': userName,
                'taskList': user.taskList,
                'dateToday': user.dateToday,
           })

viewmodels.py

代码语言:javascript
复制
def get_task_list(self, userName):
    self.taskList = Task.objects.filter(executor = userName, parent_task_id=EMPTY_UUID).order_by('due_date')
    #get date now with this format 05/11
    self.dateToday = datetime.date.today()

实际上我有两个网址..。

这是这个项目的

代码语言:javascript
复制
url(r'^(?P<userName>[0-9a-zA-Z--]+)/', include('actuser.urls', namespace="actuser")),

这个是来自actuser.urls的

代码语言:javascript
复制
url(r'^task/$', views.task, name='task'),
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-22 06:58:09

HTTP 302意味着您被重定向到其他URL。例如,如果您使用RedirectView,或者如果您忘记在请求URL的末尾写斜杠,并且启用了斜杠 (在这种情况下,您得到的是HTTP301而不是302),您可以有意地重定向。

你需要在结尾处划一个斜线:

代码语言:javascript
复制
url(r'^(?P<userName>[0-9a-zA-Z-]+)/task/$', ...
票数 4
EN

Stack Overflow用户

发布于 2019-11-01 06:32:34

如果视图需要登录,则可能会得到重定向。

您需要先登录,这是一个很好的例子,说明了如何实现它:必填项

简要说明:

代码语言:javascript
复制
class LoginTestCase(TestCase):
    def setUp(self):
        self.client = Client()
        self.user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')

    def testLogin(self):
        self.client.login(username='john', password='johnpassword')
        response = self.client.get(reverse('testlogin-view'))
        self.assertEqual(response.status_code, 200)
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33274874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档