设置django oauth toolkit后无法访问管理面板

设置django oauth toolkit后无法访问管理面板,django,oauth,django-rest-framework,Django,Oauth,Django Rest Framework,我有一个没有认证的pet api测试api。我正在尝试学习如何实现oath2来为我的应用程序增加安全性 我想通过使用的请求呼叫访问我的应用程序模型 API,但也可以通过Django管理面板 我将遵循本教程: 用于设置:django oauth工具包 教程说我应该将此代码添加到设置中: AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend' # To keep the Browsable API

我有一个没有认证的pet api测试api。我正在尝试学习如何实现oath2来为我的应用程序增加安全性

我想通过使用的请求呼叫访问我的应用程序模型 API,但也可以通过Django管理面板

我将遵循本教程:

用于设置:django oauth工具包

教程说我应该将此代码添加到设置中:

 AUTHENTICATION_BACKENDS = (
     'django.contrib.auth.backends.ModelBackend' # To keep the Browsable API
     'oauth2_provider.backends.OAuth2Backend',
 )
但当我运行server并尝试访问/admin时,我会得到:

ModuleNotFoundError at /admin/login/
No module named 'django.contrib.auth.backends.ModelBackendoauth2_provider'; 'django.contrib.auth.backends' is not a package
如果我评论:

# 'django.contrib.auth.backends.ModelBackendoauth2_provider'; 
我可以访问登录界面,但说我的用户或密码是错误的,不是

评论这两行我可以访问管理面板没有问题:

#AUTHENTICATION_BACKENDS = (
    # 'django.contrib.auth.backends.ModelBackend' # To keep the Browsable API
    # 'oauth2_provider.backends.OAuth2Backend',
#) 

没关系,没有它我的工作很好。我也在遵循这一指南。继续

顺便说一句,我还评论了允许的_HOSTS=['0.0.0.0'],在users/views.py上,我更改了所有http://0.0.0.0:8000 到http://127.0.0.1:8000.

我现在得到这些:

{
    "access_token": "C2qukd1zWz9aGSp652qbnpYjoT6ZRx",
    "expires_in": 36000,
    "token_type": "Bearer",
    "scope": "read write",
    "refresh_token": "UoI0r9J09F3kcXGO1q3KsYoGHQ9DBw"
}

没关系,没有它我的工作很好。我也在遵循这一指南。继续

顺便说一句,我还评论了允许的_HOSTS=['0.0.0.0'],在users/views.py上,我更改了所有http://0.0.0.0:8000 到http://127.0.0.1:8000.

我现在得到这些:

{
    "access_token": "C2qukd1zWz9aGSp652qbnpYjoT6ZRx",
    "expires_in": 36000,
    "token_type": "Bearer",
    "scope": "read write",
    "refresh_token": "UoI0r9J09F3kcXGO1q3KsYoGHQ9DBw"
}

代码中有一个错误

AUTHENTICATION_BACKENDS = (
 'django.contrib.auth.backends.ModelBackend' # To keep the Browsable API
 'oauth2_provider.backends.OAuth2Backend',
)
“django.contrib.auth.backends.modelbend”后面缺少一个逗号,因此它将两行作为一行,正如您在错误中看到的那样

所以你需要做的只是

AUTHENTICATION_BACKENDS = (
 'django.contrib.auth.backends.ModelBackend', # To keep the Browsable API
 'oauth2_provider.backends.OAuth2Backend',
)

现在它可以工作了…

代码中有一个错误

AUTHENTICATION_BACKENDS = (
 'django.contrib.auth.backends.ModelBackend' # To keep the Browsable API
 'oauth2_provider.backends.OAuth2Backend',
)
“django.contrib.auth.backends.modelbend”后面缺少一个逗号,因此它将两行作为一行,正如您在错误中看到的那样

所以你需要做的只是

AUTHENTICATION_BACKENDS = (
 'django.contrib.auth.backends.ModelBackend', # To keep the Browsable API
 'oauth2_provider.backends.OAuth2Backend',
)
现在它可以工作了