ImportError:无法导入名称reverse_lazy

hen*_*lee 4 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
Run Code Online (Sandbox Code Playgroud)

我正在使用python 2.7.我该如何解决?

Ned*_*der 9

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

  • 好的,你有1.3.1.`reverse_lazy`将出现在1.4中,尚未发布.使用`reverse`代替. (2认同)

tna*_*dek 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)
Run Code Online (Sandbox Code Playgroud)

更新: reverse_lazy处理变量args