내보기 코드에 응용 프로그램 논리를 작성해야합니까? 예를 들어 양식 요소를 제출할 때 사용자를 생성하고 활성화 이메일을 보내야합니다. 이 기능은 뷰 기능에서 수행 할 것인가 아니면 도로를 쉽게 테스트 할 수 있도록 별도의 기능을 만들어야합니까? 장고는 여기서 무엇을 추천합니까?보기 코드의 응용 프로그램 논리
답변
나는 장고를 사용하기 시작했을 때 모든 것이 어디로가는 지 알아내는 것이 매우 어려웠다. 그것은 정말로 당신이 쓰고있는 논리의 유형에 달려 있습니다.
첫 번째 모델 시작 : 모델 방법 및 관리자는 행 수준 논리 및 테이블 수준 논리를 수행하기에 좋습니다. 즉, 모델 관리자는 코드를 작성하여 관련 카테고리 목록을 얻을 수있는 좋은 장소입니다. 모든 blogposts. 모델 방법은 특정 블로그 게시물의 문자를 셀 수있는 좋은 방법입니다.
뷰 수준 논리는 모든 요청을 받아 필요한 (모델 관리자를 사용하여) 결과를 얻는 데 필요한 단계를 수행 한 다음 템플릿을 준비하는 과정을 모두 처리해야합니다.
어디에도 들어 가지 않지만 논리 구조가있는 코드가 있으면이를 수행하기위한 모듈을 작성할 수 있습니다. 마찬가지로 속하지 않는 코드 조각이 있으면 utils.py로 유지하십시오.
템플릿에 실제로 어떤 논리도 사용하지 말아야합니다. 대신 템플릿 태그를 사용해야합니다. 이는 모든 요청주기 또는 단일 요청주기에서 원하지 않는 재사용 가능한 코드 조각을 사용하는 데 유용합니다 (즉, 웹 사이트의 블로그 섹션에서 범주 목록을 표시하는 등).
요청주기마다 일부 논리를 수행하려면 컨텍스트 프로세서 또는 미들웨어를 사용하십시오. 하나의 단일 요청주기에서만 일부 논리를 수행하려면보기가 아마도 장소 일 것입니다.
TLDR :보기에 논리를 쓰는 것은 괜찮지 만,
등록 코드를 자체 기능으로 분리하면 테스트를 쉽게 할 수 있습니다. 관리자가 별도의 개인보기에서 사용자를 등록하도록 허용 한 경우 등록 기능이 더 DRY가됩니다. 개인적으로, 코드의 작은 애플리케이션 로직이 많은 피해를 입힐 것이라고 생각하지 않습니다.
django-registration 앱에서 등록보기를 보는 것이 도움이 될 것입니다. 작성 방법을 보려면 방금 보았거나 사용해야한다고 말하는 것이 아닙니다. 그것은 자신의 기능에 사용자 등록을 캡슐화했습니다 (등록 백엔드가 플러그 가능하기 때문에 간접적 인 수준이 있습니다).
- 1. 비즈니스 및 응용 프로그램 논리?
- 2. 보기 코드의 DataContext 값이
- 3. 응용 프로그램 코드의 DB 액세스 아키텍처
- 4. iPhone : 새로운 "보기 기반 응용 프로그램"만들기 =보기 컨트롤러 없음?
- 5. iPhone "보기 기반 응용 프로그램"템플릿 :보기 컨트롤러 xib는 어떻게로드됩니까?
- 6. 동적 조사 응용 프로그램 논리 PHP/MSSQL
- 7. 논리 응용 프로그램 및 인프라 다이어그램
- 8. 보기 기반 응용 프로그램 템플릿 없음 Xcode
- 9. Iphone 멀티 스크린 /보기 응용 프로그램
- 10. PDF 업로드 /보기 PHP에서 웹 응용 프로그램
- 11. 보기 기반 응용 프로그램 내 UItableview
- 12. 데스크톱 응용 프로그램 코드의 암호 숨기기
- 13. Qt - 응용 프로그램 코드의 적절한 디자인
- 14. ASP.NET 응용 프로그램 코드의 상대 경로
- 15. 라이브러리와 응용 프로그램 코드의 차이점은 무엇입니까?
- 16. Rails 2.3 응용 프로그램 코드의 Refactor
- 17. DB 또는 응용 프로그램 코드의 분산 동시성?
- 18. 보기 또는 여러보기의 논리 asp .net MVC
- 19. GWT 생성 된 자바 코드의 디버그 /보기
- 20. 처리 속도를 높이는 프로그램 논리
- 21. PHP MYSQL 간단한 프로그램 논리
- 22. 예외 처리 및 프로그램 논리
- 23. 숫자 생성을위한 숫자 논리 프로그램
- 24. 응용 프로그램 내에서 일종의 탐색 논리 만들기 : 방법?
- 25. Xcode에서 논리 테스트와 응용 프로그램 테스트의 차이점은 무엇입니까?
- 26. CDN, 웹 응용 프로그램 및 처리 서버의 논리 흐름
- 27. ASP.NET n 계층 응용 프로그램 유효성 검사/비즈니스 논리
- 28. 응용 프로그램 설계, 분리 된 논리, 대의원 또는 없음
- 29. 응용 프로그램 논리 (인증/권한 부여를위한 적절한 장소)
- 30. 도메인 기반 디자인 : 응용 프로그램 서비스에서 허용되는 논리
하나 더 적합 할 수있는 많은 장소가있다. 나는 응답을 쓰고 있었고 그것이 실제로 당신이 말하는 것과 정확히 일치한다는 것을 깨달았다. 이 게시물은 가장 의미가 있습니다. 간단히 말하면 DRY입니다. 이것이 주어진 행동이 일어나는 유일한 장소라면,보기에 그것을 유지하십시오! 그렇지 않은 경우 다른 위치에 배치하고보기로 가져옵니다. 단순한. –