0

我正在尝试将我的应用程序从 Django 1.11 升级到 Django 2.1,虽然我已经能够解决大多数迁移问题,但 API 测试在迁移中停止工作。检查它们后,我看到我收到状态码为 401(未授权)的响应。我从外壳手动尝试,这就是我得到的:

In [46]: from django.test import Client

In [47]: c = Client()

In [48]: user = User.objects.create(username='foobar')

In [49]: user.set_password('foobar')

In [50]: user.save()

In [51]: c.login(username=user.username, password='foobar')
Out[51]: True

In [52]: c.get('/me/')
Unauthorized: /me/
Out[52]: <Response status_code=401, "application/json">

In [53]: c.get('/me/').content
Unauthorized: /me/
Out[53]: b'{"detail":"Authentication credentials were not provided."}'

所以,显然,出于某种原因,我的客户正在登录,但它没有被授权,尽管在 Django 1.11 中它工作正常,没有任何更改。API 和应用程序仍然可以正常工作。有任何想法吗?

4

1 回答 1

0

使用 django 2.1 MIDDLEWARE_CLASSES 中的 settings.py 更改为 MIDDLEWARE。尝试更改它,它应该可以工作。

如果您正在寻找 django 2.1 的其他变化,我发现这个博客非常有用:https ://www.codingforentrepreneurs.com/blog/django-version-20-a-few-key-features/

于 2020-01-30T19:47:37.527 回答