저는 현재 파이썬을 배우고 있으며 강력한 C# 배경에서 왔습니다. 언어의 동적 인 특성과 내가 얻은 것과 그렇지 않은 것의 일부를 활용하기 위해 Pythonic 방식으로 일을하는 것에 대해 계속 듣고 있습니다.장고 (Django)보기에 클래스를 사용하는 것은 Pythonic입니까?
장고를 사용하여 사이트를 만들고 있는데 내 접근 방식은 클래스를 사용하는 것입니다. 내 현재의 생각은 사용하는 템플릿과 모델에 대한 몇 가지 사항을 가진 기본 클래스를 갖는 것이다. 그러면 사이트 검색을 포함한 기본 펑키 404 유형 페이지가 생기고 다른 모든 페이지를 기반으로합니다. 따라서 사이트의 각 영역마다 고유 한 EG News와 모든 모델 관련 함수가 있으며 필터링은 HTML 또는 AJAX 요청에 대한 추가 클래스가있는 해당 클래스에 있습니다. 그래서 당신은이 같은 것이다 :
\ 사이트 \ 공통 \ ViewBase
- \ 뉴스 \의 NewsBase (ViewBase)
- \ 소식 \ HtmlView (NewsBase)
- \ 뉴스 \의 AJAXView (NewsBase는)
URL은 site.news.htmlview하는 http://tld/news/latest지도와 같은 매핑 될 것이며 http://tld/news/는//도 site.news.htmlview를 매핑 할 것이다 것이 아니라 클래스가 수행 할 작업을 알아낼 것이다 추가 매개 변수.
이것은 C#에서 할 수있는 일이지만 Django 튜토리얼은 뷰를위한 메소드 사용만을 보여 주며 이것이 매우 파이썬적인 해결책이 아닌지 궁금하게 생각합니까?
생각하십니까?
편집 : 스레드 안전성에 대한 S.Lott 주석 후, 함수를 그대로두고 클래스의 인스턴스를 만들고 메서드를 호출하게하는 것이 더 좋습니까?
는 내가 찾던 등
모델의 테이블에서 작동하는 코드는 ** 관리자 ** http://docs.djangoproject.com/ko/1.1/topics/db/managers/ –
에 입력해야합니다. Pythonic이 아닐까요 ... 나는 그 질문이 Djangoic인지 아닌지 의심 스럽습니다. – JAL