Python 如何设置tastypie的授权标头?

Python 如何设置tastypie的授权标头?,python,django,curl,tastypie,Python,Django,Curl,Tastypie,在请求中将值作为参数传递时,它将起作用: curl "http://localhost:8080/wordgame/api/v1/rounds/?username=test_user&api_key=12345678907a9cb56b7290223165e0a7c23623df&format=json" 但是,当我尝试将值作为头传入时,它不起作用。这将导致401: curl -H "Authorization: ApiKey test_user:12345678907a9cb

在请求中将值作为参数传递时,它将起作用:

curl "http://localhost:8080/wordgame/api/v1/rounds/?username=test_user&api_key=12345678907a9cb56b7290223165e0a7c23623df&format=json"
但是,当我尝试将值作为头传入时,它不起作用。这将导致401:

curl -H "Authorization: ApiKey test_user:12345678907a9cb56b7290223165e0a7c23623df" -H "Accept: application/json" http://localhost:8080/wordgame/api/v1/rounds/

我使用的是Tastypie

假设用户名/密钥正确,您的标题看起来是正确的

尝试github主分支的版本,pip从PyPI安装的版本也不会接受授权头

我这样做:


pip安装https://github.com/toastdriven/django-tastypie/tarball/master --升级

很抱歉添加了一个几乎重复的答案,但我还不能发表评论。我也有同样的问题,正如另一个答案所提到的,我必须更新到最新的代码才能让它工作,因为它是在当前版本之后添加的


需要注意的是,默认情况下,readthedocs上的文档似乎跟踪最新的开发版本,而不是特定的版本。要更改此设置,您可以单击屏幕底部的“阅读文档”图像,选择您正在使用的版本。

您正在使用哪个版本的tastypie?您是否可以运行相同的冗长(-v)。如果没有帮助的话,我建议使用IDE进行一些调试,看看ApiKeyAuthentication的is_authenticated方法会发生什么。这就成功了!感谢您发布运行升级的命令。