python - django 身份验证和密码重置
问题描述
因此,我目前正在开发一个 Web 应用程序项目,并且成功实现了身份验证和密码确认。
但是我的问题是我使用 html 模板完成了它,现在出现了我们必须使用 api 开发我们的应用程序的要求。
现在,我是 api 新手,真的很困惑如何使用我构建的身份验证系统(因为我们必须为内置实现的类提供模板,并且它们接受来自自己的值)
是否可以在仍然使用内置机制的同时从代码隐藏中实际查看和管理注册用户
解决方案
对于密码更改,您可以使用内置的 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
推荐阅读
- javascript - 构建导航栏,我收到此错误 Element type is invalid: expected a string (for built-in components) or a class/function for composite components
- sql - 加入另一个表,然后显示来自另一个表的最大值
- visual-studio - Visual Studio 安装项目:以管理员身份运行卸载 MSI
- android - 有没有办法在 Android 应用程序的 SQL lite 中执行平方根和三角函数?
- c++ - 使用 VS2019 构建时使用 Qt5qml 导致应用程序崩溃
- cypress - 根据 Cypress 中的布局选择元素
- javascript - 如何等待执行异步函数的 jQuery 事件处理程序
- dialogflow-es - 在 Google Dialogflow 中,如何保存变量直到会话结束
- javascript - 如何解决需要适当加载器的 npm 错误?
- python - KeyError Traceback(最近一次调用最后一次)