Skip to main content
 首页 » 编程设计

python之断言错误 : 302 ! = 200

2025年05月04日34Terrylee

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

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:任务 View .py

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, 
           }) 

View 模型.py

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() 

实际上我得到了 2 个 url...

这是来自项目

url(r'^(?P<userName>[0-9a-zA-Z--]+)/', include('actuser.urls', namespace="actuser")), 

这个来自actuser.urls

url(r'^task/$', views.task, name='task'), 

请您参考如下方法:

HTTP 302意味着您被重定向到其他一些 URL。如果您使用 RedirectView,您可以有意进行重定向例如,如果您不小心忘记在请求 URL 的末尾写斜线并且您有 APPEND_SLASH已启用(在这种情况下,您将获得 HTTP 301 而不是 302)。

最后需要一个斜线:

url(r'^(?P<userName>[0-9a-zA-Z-]+)/task/$', ...