django - Django登录与休息框架
问题描述
在使用其余框架和前端原生客户端时,我需要使用原生客户端登录并直接登录 API 端点以进行开发和测试。
本地客户端登录需要令牌认证,直接 API 登录需要会话认证。但是,如果我将两者都放在 settings.py 作为默认值,我会从本机客户端收到 csrf 错误,并且如果我删除会话身份验证,我将无法直接登录 API(我仍然可以登录到管理控制台)。
我的设置.py
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication'
],
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.AllowAny',
)
}
可以做些什么来登录开发和测试?有什么帮助吗?
解决方案
@Daniel这是我当前的设置,检查是否对您有帮助-
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
# 'rest_framework.authentication.BasicAuthentication',
'rest_framework.authentication.SessionAuthentication',
),
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.AllowAny',
)
}
AUTHENTICATION_BACKENDS = (
# Needed to login by username in Django admin, regardless of `allauth`
"django.contrib.auth.backends.ModelBackend",
# `allauth` specific authentication methods, such as login by e-mail
"allauth.account.auth_backends.AuthenticationBackend"
)
推荐阅读
- java - 如果句子包含撇号,Cucumber no match gherkin in French
- java - 使用列表在地图中分组时如何过滤年龄
- html -
标记在 Outlook Web App 中的所有内容居中,文本无法左对齐 - go - 无法将 nil 转换为类型字符串
- image - 我如何知道图像在网站上的外观?
- android - Android Studio / ADB 突然停止初始化/连接/工作
- django - 非调试模式下的 Django Whitenoise 500 服务器错误
- ios - Xcode - 在控制器中添加“分页标签”
- python - 仅显示嵌套字典的差异
- java - 如何在 ObservableList<> 中总结同名对象