2017-04-24 8 views
1

로 업그레이드 한 후 작동하지 :장고라는 이름의 URL 매개 변수를 더 이상 내가 URL 템플릿 태그 이런 식으로 사용하는 오래된 장고 응용 프로그램이 1.10 또는 1.11

{% url 'smart_service.views.view_name' %} 

는 지금까지 크게 일을하지만 버전으로 업데이트 한 후 1.10 아무것도 더 이상 작동하지 않으며 그런 식으로 사용하면 NoReverseMatch을 반환합니다.

urls.py 파일로 app_name = 'smart_service'을 넣어이에 URL 태그를 변경하여이 문제를 해결할 수

는 :

{% url 'smart_service:view_name' %} 

이 지루한 작업과 오류에 매우 경향이있다, 나는 그것을 피하기 위해 싶습니다 엄격히 필요하다면.

첫 번째 유스 케이스가 사용되지 않았습니까? 그렇지 않다면 더 이상 작동하지 않는 이유는 무엇입니까? 하나 또는 다른 것을 사용할 때 특별한 이점이 있습니까?

답변

3

장고 1.10 이상으로 업그레이드하면이 변경을 피할 수 없습니다.

점으로 구분 된 파이썬 경로를 사용하여 URL을 역순으로 지원하는 경우는 deprecated in Django 1.8removed in 1.10입니다.

보기 이름을 사용하려면 {% url %} 태그를 변경해야합니다 (예 : 당신이 당신의 urls.py에 네임 스페이스를 추가하는 경우

{% url 'view_name' %} 

는, 예를 app_name = 'smart_service'을 위해, 당신은 {% url %} 태그 네임 스페이스를 포함해야합니다.

{% url 'smart_service:view_name' %}