python - Django Rest Framework中的AuthToken : non_field_errors

标签 python django django-rest-framework auth-token

我正在尝试在 DRF(Django 版本 1.10)中集成基于 token 的身份验证,但是当我使用 {"username":"test","password":"123456789"}< 访问 api-token-auth/时 正如文档中提到的,需要向我返回 token ,但我得到了

{
    "non_field_errors": [
        "Unable to log in with provided credentials."
    ]
}

我在安装的应用程序中使用了 rest_framework.authtoken,一旦用户注册并保存在 authtoken_token 表中,也会生成 token 。

也在我正在使用的 root 的 urls.py 中

urlpatterns += [
    url(r'^api-token-auth/', authviews.obtain_auth_token),
]

如有任何帮助,我们将不胜感激。另附上代码

urls.py

urlpatterns += [
    url(r'^api-token-auth/', authviews.obtain_auth_token),
]

settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'rest_framework.authtoken',
    'users'
]

users/urls.py


from rest_framework.routers import DefaultRouter
from . import views as user_views
from django.conf.urls import url ,include


router = DefaultRouter()
router.register(r'user', user_views.UserViewSet,base_name="user")
urlpatterns = router.urls

最佳答案

您可能没有对密码进行哈希处理并按原样保存。在您看来,您应该这样保存密码。

user = User.objects.create(usename='test', first_name='first_name', email='<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f084958384b0919293de939f9d" rel="noreferrer noopener nofollow">[email protected]</a>')
user.set_password('password')
user.save()

user.set_password 将哈希密码。

关于python - Django Rest Framework中的AuthToken : non_field_errors,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48187740/

相关文章:

python - 字符串长度不等的多序列比对

python - 自定义 user_logged_in 信号在 django 更新 last_login 之前

python - 如何将每个搜索词存储到 Django 中的数据库中

python - 如何将 celery beat 作为守护进程运行?

django - 如何使用 Django REST Framework 在 Django 中将输入作为字符串并保存为二进制?

python - Pandas 中单个图中的两个子图

python - 运行 sudo 命令以在脚本中执行可执行文件

Django 。此函数的关键字参数无效。多对多

django-rest-framework - 过滤可浏览 API 中可见的表单选项

django - 如何将 API 正确匹配到 Django 中的 View