2012-02-16 37 views
3

我對python很陌生,試圖在系統上運行一段Django代碼,但我遇到了這個問題。ImportError:無法導入名稱reverse_lazy

$ 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。我該如何解決?

回答

9

reverse_lazy比任何發佈的Django版本更新。你確定你有一個Django的中繼版本嗎?

+0

做我需要得到的Django的另一個版本? – henghonglee 2012-02-16 01:46:58

+0

我不知道。你有什麼版本?你也可以堅持你有的版本中可用的方法。 – 2012-02-16 01:47:47

+0

即時通訊使用 (1,3,1,'final',0) – henghonglee 2012-02-16 01:49:08

6

如果你堅持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

+1

這是一個很好的填充/回退1.3。我需要這個從基於類的視圖定義success_url – 2013-04-28 19:35:09

+0

這可以用於自定義模板標籤嗎?我與Django 1.3應用程序有同樣的問題,我需要反轉dels_required裝飾器的url。 – acrespo 2013-08-14 20:24:22

相關問題