4

我正在使用Django REST Framework并在我的应用程序Django-OAuth-toolkit中启用OAuth2身份验证。

因为在使用OAuth2之后,我不再需要基于令牌的身份验证,因此也不需要令牌表/模型。

有时看到两个不同的模块处理令牌后,我会感到困惑。

因此,我想Token从 Django 的管理面板中删除/隐藏表格。

这是我的settings.py文件

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'oauth2_provider.contrib.rest_framework.OAuth2Authentication'
    ),
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated'
    ],
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 10
}

我已删除基于令牌的身份验证,但Token管理面板中仍有表格

在此处输入图像描述

4

6 回答 6

13

您不必“必须”删除rest_framework.authtoken.

此答案可能不适用于您,但如果您想继续使用 authtoken 并将它们隐藏在管理员面前,您可以将以下内容添加到您现有的 admin.py 文件之一:

from rest_framework.authtoken.models import Token
admin.site.unregister(Token)
于 2019-08-15T13:01:59.357 回答
4
from rest_framework.authtoken.models import TokenProxy
admin.site.unregister(TokenProxy)
于 2021-03-14T10:58:35.870 回答
3

获取任何已注册的应用程序admin.py并添加以下行。

from rest_framework.authtoken.models import TokenProxy
admin.site.unregister(TokenProxy)

至少,这可以按照2021using工作Django 3.1.7

于 2021-07-28T18:00:23.283 回答
1

你必须rest_framework.authtokenINSTALLED_APPS

查看文档

于 2018-08-06T15:55:02.127 回答
0
from rest_framework.authtoken.models import Token
admin.site.unregister(Token)

如果您执行上述操作,您将得到“raise NotRegistered('The model %s is not registered' % model.name ) django.contrib.admin.sites.NotRegistered: The model Token is not registered”

所以请按照下面的方法

from rest_framework.authtoken.models import TokenProxy
admin.site.unregister(TokenProxy)
于 2021-05-19T10:59:02.153 回答
0

这应该正常工作

from rest_framework.authtoken.admin import (
    TokenProxy
)

admin.site.unregister(TokenProxy)
于 2021-10-11T11:25:46.863 回答