带有Django导入错误和RegistrationSupplementBase的Python无法导入名称'ugettext_lazy'

时间:2019-07-18 15:57:34

标签: python django python-3.6 django-registration

我正在更新一个非常老的Django项目,并尝试使用RegistrationSupplementBase,但是在导入时出现此错误消息:

File "/home/projectmachine/Desktop/project_rebuild/projectname/models.py", line 11, in <module>
from registration.supplements.base import RegistrationSupplementBase
File "/home/projectmachine/.local/share/virtualenvs/projectname-QrYA9Qp-/lib/python3.6/site-packages/registration/supplements/base.py", line 9, in <module>
    from django.utils.text import ugettext_lazy as _
ImportError: cannot import name 'ugettext_lazy'

我不知道怎么了。似乎已安装依赖性。我正在使用Django 2.2和django-inspectional-registration 0.6.2

这是我导入课程的方式:

from registration.supplements.base import RegistrationSupplementBase

1 个答案:

答案 0 :(得分:1)

  

我不知道怎么了。似乎已安装依赖性。我正在将Django 2.2与django-inspectional-registration 0.6.2

一起使用

该功能已移至django.utils.translation模块,因此您可以通过以下方式导入该功能:

from django.utils.translation import ugettext_lazy as _

基于Django Deprecation Timeline [Django-doc]ugettext_lazy将在中被删除。您可以改用gettext_lazy

from django.utils.translation import gettext_lazy as _

但是,基于GitHub repository of django-inspectional-registration,该项目不再处于活动状态:最近一次提交是在2016年11月。您可以尝试更新该项目,但是最好寻找一个可在其中运行的替代软件包。类似的方式。