ImportError: cannot import name memoize

ImportError: cannot import name memoize

我在将项目从 Django 1.7.1 升级到 1.9.0 时遇到了一些小问题。 每个'RemovedInDjango20Warning'都搞定了,但是还剩下一点不知道怎么处理

当我尝试访问任何页面时,总是会出现 ImportError,例如:

 **TemplateSyntaxError at /auth/**

 'crispy_forms_tags' is not a valid tag library:
 ImportError raised loading crispy_forms.templatetags.crispy_forms_tags: 
 cannot import name memoize***

我在我的模板站点中包含 {% load crispy_forms_tags %},并在 settings.py

中的 INSTALLED_APPS 中添加了 'crispy_forms'

在更新工作正常之前,我试图找到任何解决方案,但没有成功。

我做错了什么?

如前所述,此错误的原因是 Django 在某些时候删除了 memoize,因此您尝试使用的 crispy-forms 版本不适用于 Django 版本。

解决方案包括尝试不同版本的 Django,或尝试不同版本的 crispy-forms。如果您使用的是未发布的 Django 版本,那么可能还没有支持它的 cripsy 版本。

但是,您的错误 ("cannot import name memoize") 可能会出现在已发布的 Django 版本中 - 我遇到了这个错误,并且通过搜索找到了这张票。问题是我使用的是旧版本的 crispy (1.4.1) 和最新版本的 Django (1.11.1)。

要查找要使用的 crispy 版本,您可以查看 github 发布页面:

https://github.com/django-crispy-forms/django-crispy-forms/releases

发布评论包括一些关于不同版本支持的Django版本的信息。