2012-02-16 7 views
3

저는 Python을 처음 사용하고 시스템에서 장고 코드를 실행하려고했지만이 문제가 발생합니다.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 

저는 파이썬 2.7을 사용하고 있습니다. 이 문제를 어떻게 해결할 수 있습니까?

답변

9

reverse_lazy은 Django의 출시 된 버전보다 최신 버전입니다. Django의 트렁크 버전을 가지고 있습니까?

+0

을 처리 내가 장고의 다른 버전을해야합니까? – henghonglee

+0

나는 잘 모른다. 어떤 버전이 있습니까? 당신은 또한 가지고있는 버전에서 사용 가능한 방법을 고수 할 수 있습니다. –

+0

메신저 사용 (1, 3, 1, 'final', 0) – henghonglee

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 변수 인수

+1

이것은 1.3의 훌륭한 폴리 폴리/폴백입니다. 나는 클래스 기반 뷰인 success_url을 정의하기 위해 이것을 필요로했습니다. –

+0

이 템플릿을 사용자 정의 템플릿에서 사용할 수 있습니까? 장고 1.3 응용 프로그램과 동일한 문제가 있는데, 나는 데 필요한 login_required 데코레이터가있는 URL을 되돌릴 필요가있다. – acrespo

관련 문제