如果用户没有登录,只测试我的应用程序是否会重定向到登录页面。这个网址是/confirmation/TEST01
,其中TEST01
是反向网址。它应该重定向到/accounts/login/?next=/confirmation/TEST01
但我收到一个错误:
AssertionError: 404 != 302 : Response didn't redirect as expected: Response code was 404 (expected 302)
test.朋友
def test_redirect_to_login(self):
response = self.client.get('/confirmation/TEST01/')
self.assertRedirects(response, '/accounts/login/?next=/confirmation/TEST01', status_code=302, target_status_code=404, fetch_redirect_response=True)
终奌站
[30/Apr/2019 08:45:01] "GET /confirmation/XZC456 HTTP/1.1" 302 0
Not Found: /accounts/login/
[30/Apr/2019 08:45:01] "GET /accounts/login/?next=/confirmation/XZC456 HTTP/1.1" 404 2386
使用login_redirect装饰器。
from django.contrib.auth.decorators import login_redirect
@login_redirect
def my_view(request):