首页 > 解决方案 > django 身份验证和密码重置

问题描述

因此,我目前正在开发一个 Web 应用程序项目,并且成功实现了身份验证和密码确认。

但是我的问题是我使用 html 模板完成了它,现在出现了我们必须使用 api 开发我们的应用程序的要求。

现在,我是 api 新手,真的很困惑如何使用我构建的身份验证系统(因为我们必须为内置实现的类提供模板,并且它们接受来自自己的值)

是否可以在仍然使用内置机制的同时从代码隐藏中实际查看和管理注册用户

标签: pythondjangoapiauthentication

解决方案


对于密码更改,您可以使用内置的 Django auth 框架使用此通用视图

@login_required
def change_password(request):
    if request.method == "POST":
        form = PasswordChangeForm(request.user, request.POST)
        if form.is_valid():
            user = form.save()
            # Important to update the session otherwise user will have to login again
            update_session_auth_hash(request, user)
            # Server side alert
            print("Password changed for {0}".format(user.username))
            return redirect('/index/')
        else:
            print(form.errors)
    else:
        form = PasswordChangeForm(request.user)
    return render(request, 'website/changepassword.html', {'form': form})

您需要使用djangorestframework, 并使用装饰器@apiview(['GET', 'POST'])创建一个 RestAPI


推荐阅读