Django 1.4:
https://docs.djangoproject.com/zh- CN/1.4/topics/testing/#django.test.TestCase.assertRedirects
Django 2.0:
https://docs.djangoproject.com/zh- CN/2.0/topics/testing/tools/#django.test.SimpleTestCase.assertRedirects
SimpleTestCase.assertRedirects(response, expected_url, status_code=302, target_status_code=200, msg_prefix='', fetch_redirect_response=True)
断言响应返回 重定向状态,重定向到 (包括任何 的数据),而最后一页用收到 。
如果您的请求中使用的 参数, 和 将是重定向链的最终点的网址和状态代码。
如果 为 ,则不会加载最后一页。由于测试客户端无法获取外部URL,因此如果 不是Django应用程序的一部分,则这特别有用。
在两个URL之间进行比较时,可以正确处理方案。如果在我们重定向到的位置中未指定任何方案,则使用原始请求的方案。如果存在, 的方案就是用来进行比较的方案。