127.0.0.1重定向次数过多。

来源:9-5 退出登录接口开发

秦垚

2022-10-04

图片描述`class LoginView(View):
""“
用户登录(账号密码)逻辑
”""
def get(self, request, *args, **kwargs):
# 判断用户是否登录
if request.user.is_authenticated:
return HttpResponseRedirect(reverse(“index”))

    # 用户未登录
    return HttpResponseRedirect(reverse("login"))

def post(self, request, *args, **kwargs):
    # 表单验证,验证前端用户传递的数据
    login_form = LoginForm(request.POST)

    if login_form.is_valid():
        # 获取邮箱和密码
        email = login_form.cleaned_data["email"]
        password = login_form.cleaned_data["password"]
        # 验证邮箱和密码,通过邮箱和密码查询用户是否存在
        user = authenticate(username=email, password=password)
        if user is not None:
            # 查询到用户,判断用户是否通过邮箱链接验证
            if user.is_active:
                # 查询到用户,并登录
                login(request, user)
                # 登录成功后跳转到首页
                return HttpResponseRedirect(reverse("index"))
            else:
                # 用户未通过邮箱验证
                messages.error(request, '用户未激活,请前往激活')
                return HttpResponseRedirect(reverse("login"))
        else:
            # 未查询到用户,跳转到登录页面并做错误消息提示
            return HttpResponseRedirect(reverse("login"), {
                "login_form": login_form,
                "msg": "邮箱或者密码错误",
            })
    else:
        # 未获取到邮箱或者密码
        return HttpResponseRedirect(reverse("login"), {
            "login_form": login_form,
        })`
写回答

1回答

bobby

2022-10-08

你留个qq 我加你看看吧,或者你拷贝一下我给的源码中对应的源码再试试

0
0

Django+ xadmin 开发在线教育网站

一套通用的技术组合拳,助你解决大部分Python类网站后端问题

1911 学习 · 2149 问题

查看课程