测试用户是否未登录,重定向到登录页面

问题描述 投票:0回答:1

如果用户没有登录,只测试我的应用程序是否会重定向到登录页面。这个网址是/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
django testing
1个回答
0
投票

使用login_redirect装饰器。

from django.contrib.auth.decorators import login_redirect

@login_redirect
def my_view(request):
© www.soinside.com 2019 - 2024. All rights reserved.