ImportError:无法导入名称memoize

时间:2015-05-18 16:20:11

标签: python django importerror

项目从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 %},并在INSTALLED_APPS

中的settings.py中添加了'crispy_forms'

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

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您使用的是预发布版本的Django,Crispy Forms尚不支持。

你应该切换到Crispy Forms支持的Django版本,停止使用Crispy Forms,或者自己修补它,以便它适用于较新的Django版本。

答案 1 :(得分:0)

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

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

然而,你的错误(“无法导入名称memoize”),可以显示Django的已发布版本 - 我有这个错误,搜索引导我到这张票。问题是我使用的是旧版本的crispy(1.4.1)和最新版本的Django(1.11.1)。

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

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

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