2011-10-05 3 views
5

클래스 기반 뷰가 장고에서 훨씬 좋아 졌으므로 클래스 기반 뷰를 구현할 때 "모범 사례"문제가 발생합니다. 기본적으로 URL template tag으로 내려갑니다.Django : URL conf, URL 템플릿 사례 모범 사례

이 같은 urls.py를 감안할 때 :

{% url some_app.views.index %} 

또는 URL의 이름 :

{% url some_app_index %} 

urlpatterns = patterns('some_app.views', 
    url(r'^$', 'index', name='some_app_index') 
) 

는 그 태그는 뷰의 경로 중 하나를 취할 수 있습니다


이제 클래스 기반 URL conf를 사용하면 이 같은 URL로 페이지 :

from some_app.views import Index 

urlpatterns = patterns('', 
    url(r'^$', Index.as_view(), name='some_app_index') 
) 

{% url some_app.views.index %}를 사용하여 더 이상 {% url some_app_index %} 여전히 않고 작동한다는 것을 의미합니다. (그리고 {% url some_app.views.Index.as_view %}는 해결책으로 보이지 않습니다.)


내 질문은 템플릿에서 URL confs를 참조하는 것이 가장 좋습니다.

이 시점까지는 path.to.view 메서드를 사용하는 것이 깔끔하게 네임 스페이스이므로 좋았을 것이라고 생각했습니다. 그러나 클래스 기반보기가 더 좋아 보이며 더 좋은 방법으로 url name을 사용하고 있습니까? 이 경우 네임 스페이스는 다른 앱과 URL 이름을 구분하는 방식으로 앱 개발자가 설정하는 이름 속성에 완전히 의존합니다 ...

생각 하시겠습니까? Django 문서에서 "do this it way"를 찾을 수는 없지만 다른 사람이이 문서를 작성했다면 읽는 것을 좋아할 것입니다.

답변

8

나는 항상 이름을 사용합니다.

경로와 관련된 문제 외에도 동일한보기를 가리키는 두 개의 URL이 있으면 문제가 발생할 수 있습니다.

+0

나는 무엇이 일어날 지 궁금했다. 이것은 명백하게 더 낫다! – Alvaro