ImportError ugettext_lazy as _
Я использую Django 4 для моего webApp и я начал получать эту ошибку, когда я хочу установить аутентификацию. Я проверил все форумы и нашел, что они предлагают импортировать gettext_lazy как _. Но это не работает. Есть какие-нибудь предложения? Вот ошибка, которую я получаю при попытке запустить сервер разработчиков:
from django.utils.translation import ugettext_lazy as _
ImportError: cannot import name 'ugettext_lazy' from 'django.utils.translation' (/Users/intelligentica/PycharmProjects/DockerDjangoReactProject/backend/mainapp/venv/lib/python3.9/site-packages/django/utils/translation/__init__.py)
Я начал получать ошибки сразу после попытки настроить аутентификацию пользователя:
from django.urls import path
from users.views import APILoginView, APILogoutView
from rest_framework.authtoken import views as authtoken_views
urlpatterns = [
path('login', APILoginView.as_view(), name='api_login'),
path('logout', APILogoutView.as_view(), name='api_logout'),
path('generate-api-token', authtoken_views.obtain_auth_token)
]
Установленный вами пакет не поддерживает Django 4 и включает ugettext_lazy
, который Django 4 не поддерживает.
Попробуйте переустановить этот пакет
pip uninstall djangorestframework
pip install djangorestframework
или вы можете попробовать изменить все ugettext_lazy
на gettext_lazy
в папке этого пакета.
например. Django 2.2:
from django.utils.translation import ugettext_lazy as _
Django 2.2>:
from django.utils.translation import gettext_lazy as _