ImportError:无法导入名称reverse_lazy

时间:2012-02-16 01:40:48

标签: python django

我对python很新,并试图在我的系统上运行一段Django代码,但我遇到了这个问题。

$ python manage.py runserver
Running in development mode.
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    import settings
  File "/Users/Kinnovate/Desktop/fsdjango/platformsite/settings.py", line 321, in <module>
    from django.core.urlresolvers import reverse_lazy
ImportError: cannot import name reverse_lazy

我正在使用python 2.7。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:9)

reverse_lazy比任何已发布的Django版本都要新。你确定你有Django的主干版本吗?

答案 1 :(得分:7)

如果你坚持使用1.3一段时间,你可以使用这些内容:

try:
    from django.core.urlresolvers import reverse_lazy
except ImportError:
    from django.core.urlresolvers import reverse
    from django.utils.functional import lazy
    reverse_lazy = lambda *args, **kwargs: lazy(reverse, str)(*args, **kwargs)

更新: reverse_lazy处理变量args

答案 2 :(得分:0)

您可以导入新版本:

from django.urls import reverse_lazy

并使用:

reverse_lazy("accounts:list")