我想将登录方式从用户名更改为电子邮件
网址.py
from rest_framework_jwt.views import obtain_jwt_token,refresh_jwt_token
urlpatterns = [
url(r'^login/$', obtain_jwt_token),
url(r'^tokenRefresh/', refresh_jwt_token)
]
设置.py
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False
我用过上述方法,但不适合我。你能帮忙吗
那是因为
django-allauth
与django-rest-framework-jwt
无关。在settings.py
内设置的设置属于django-allauth
,因此如果要使用这些设置,则应该使用django-allauth
视图通过
django-rest-framework-jwt
视图,我查看了obtain_jwt_token
视图,我看到他们使用get_user_model().USERNAME_FIELD
来获取用户名字段因此,如果要将username字段更改为另一个字段,可以创建一个自定义的
User
模型,然后将USERNAME_FIELD
的值设置为email
,以允许用户通过email
而不是username
登录。像这样:应用程序名称/型号.py
在设置中。py:
相关问题 更多 >
编程相关推荐