django - Axios Token 授权 401 导致 Django Rest Framework
问题描述
我试图在我的 Django 项目中调用 REST api 端点。到目前为止,它在使用 curl,postman 时工作。当我尝试使用 Axios 在我的 django 模板前端调用它时遇到问题。当我检查网络选项卡时,请求返回 401,同时发送参数和令牌。
axios.get(url,{headers: {'Authorization': 'Token 0ca677330f947335a72572bdbdfe305ae7dd8ba6'},params:params})
我也试过
return axios({
method: 'get',
url: url,
headers: {
'Authorization': 'Token 0ca677330f947335a72572bdbdfe305ae7dd8ba6'
},
params: params
})
仍然得到401。
任何想法?
更新
现在我弄清楚了原因。当我在 Google 隐身模式下尝试时,它可以工作,我可以通过使用其他浏览器(如 firefox)来确认这一点,现在我更新的问题是,如何删除或刷新以删除缓存?我通过删除应用程序选项卡中的缓存尝试了 chrome 的开发者控制台中的所有内容
解决方案
将此添加到您的 settings.py 文件中
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES':(
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication',
)
}
并确保TokenAuthentication
位于顶部。
推荐阅读
- python - SQLAlchemy / PostgreSQL 未创建具有正确时间戳格式的列
- python - 将python迭代方法转换为并行
- javascript - 获取一个带有潜台词的图标,然后在同一行上列出一个列表?
- r - 从列表元素中提取元素
- python-3.x - urllib.error.URLError:
- acumatica - 从销售订单上的复制粘贴功能中消除几个字段
- javascript - JavaScript While循环条件变量未更新
- android - 使用 kotlin 的 WebView 中的进度条
- couchdb - 如何在 CouchDB 上设置虚拟主机?
- c# - 我怎样才能得到窗口标题以及这个代码