【发布时间】:2019-01-08 04:39:49
【问题描述】:
我的情况:
Django 应用 + 移动应用,使用 Django REST api 和 rest-auth。 我想实现密码重置交易,在移动应用上启动。
我遵循的工作流程是:
1) 从手机执行密码重置请求 -> 好的,没问题
2) Django 向用户发送电子邮件 -> 好的,没问题
3) 转到电子邮件链接页面并创建新密码 -> 好的,没问题 但是用于创建新密码的表单是 REST framework API 表单
问题
1) 我可以自定义此表单吗?我不知道该怎么做,因为这个 URL 是可变的(带有 UID 和令牌)。有什么建议吗?
2) 此工作流程是否合适,或者是否有更好的方法来管理重置密码工作流程?
在我的 URL 文件中:
urlpatterns = [
...
re_path(r'^password/reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
]
我应该在这里创建一个自定义视图吗?
在 Django REST 文档中,它说 REST 框架适用于返回 API 样式响应和常规 HTML 页面。但我找不到合适的例子来帮助我解决我的问题。
【问题讨论】:
-
你最好不要完全使用 Django 表单,Django rest 支持表单是为了保持一些熟悉。您将享受美好时光,同时保持 API 仅返回 Json,同时您可以使用前端框架的表单库。
标签: django-rest-framework django-rest-auth django-rest-framework-jwt