0

我是 Django rest 的新手,我正在尝试创建一个非常简单的应用程序,允许用户使用 knox 登录/注册。但是当我尝试运行诸如“python manage.py makmigrations”之类的命令或任何其他与 Django 相关的命令时,我收到了这个错误:

ImportError: Could not import 'knox.auth.TokenAuthentication' for API setting 'DEFAULT_AUTHENTICATION_CLASSES'. ImportError: cannot import name 'ugettext_lazy' from 'django.utils.trans lation' (C:\Users\user\Desktop\Proj\Server\env\lib\site-packages\django\utils\translation\__init__.py).

以下是我认为与 knox 相关的 settings.py 文件的一部分:

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',

'rest_framework',
'knox',
'corsheaders',

'app',]


AUTH_USER_MODEL = 'app.User'

REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': ('knox.auth.TokenAuthentication', ),}
4

1 回答 1

2

在花了几个小时试图弄清楚为什么会发生这种情况后,我意识到这是因为我使用的是 Django 4.0 !!!!!!

我降级到 Django 3.2.11,结果一切正常:)

于 2022-01-17T19:32:33.080 回答