python - django开发中纠结于视图函数与类通用视图
阿神
阿神 2017-04-18 09:50:05
0
4
462

现阶段django开发是用视图函数多呢?还是类通用视图?

看到有人在segmentfault中陈述:视图函数拓展性就没有这么灵活。类通用视图可以继承,可用使用装饰器等好处。

不过我做了一个单表的CURD(增删改查)之后,发现一个问题是。现实开发中有很多复杂的功能是多表操作的,类通用视图处理这些复杂的逻辑时就显得有些疲软了.....

各们Django使用者,有什么好建议,或者是我还没对类通用视图研究不透彻?请大家指点一下....

阿神
阿神

闭关修行中......

모든 응답(4)
Ty80

cbv(클래스 기반 뷰)를 사용하여 개발할 수 있다면 fbv(함수 기반 뷰)는 사용하지 마세요. Django의 개발 조직에서는 모든 사람들이 개발에 cbv를 사용할 것을 권장하고 있습니다. cbv를 사용하면 많은 장점이 있는데, 가장 확실한 것은 개발 효율성을 향상시킨다는 점입니다. 기본적으로 간단한 추가, 삭제, 수정, 확인 작업에는 몇 줄의 코드 작성도 필요하지 않습니다. for 및 상속이 추가됩니다. 믹스인 확장을 직접 작성하면 됩니다. 개인적으로는 개발 효율이 2배 이상 향상되었다고 생각합니다. 따라서 단점에 대해 이야기하려면(물론 이것이 장점이 되어야 한다고 생각하므로 Django 소스 코드를 읽어야 합니다) Django와 함께 제공되는 모든 뷰의 기능과 각 뷰의 메서드가 무엇인지 이해해야 합니다. 보기가하고 있습니다. 뷰의 기능을 이해해야만 적절한 상속을 수행하고 일부 복잡한 작업에서 적절한 믹스인을 작성할 수 있습니다. cbv 개발에 능숙해지면 Django 뷰의 소스 코드에도 더 익숙해지리라 믿습니다.

cbv 프로젝트 학습 및 개발에 도움이 되는 웹사이트를 추천해 주세요: ccbv. Django 소스 코드와 결합된 cbv를 배우는 것은 매우 명확합니다.

마지막으로 API 서비스에 사용하기 위해 cbv를 확장한 라이브러리를 추가하겠습니다. 믹스인을 작성하여 일부 복잡한 기능을 완성하는 방법을 참조할 수 있습니다. 물론, 데이터 인터페이스를 빠르게 개발하기 위해 dss를 사용할 수도 있습니다(광고가 없습니다. 진지하게 생각해 주세요):

django 단순 직렬 변환기

Ty80

무엇을 질문하시는지 모르겠습니다. 단일 테이블이든 다중 테이블이든 모두 모델 수준인데, 뷰 기능과 뷰 클래스는 뷰 수준에 있는 건가요? 아니요

巴扎黑

클래스 뷰는 일부 데이터를 공유할 수 있지만 일반 뷰 기능을 사용하려면 더 많은 코드를 작성해야 합니다. 실제로 어떤 종류의 뷰를 사용하든 다중 테이블 연관 연산이 가능하지만, RESTful 인터페이스에서는 일반적으로 클래스 뷰를 사용합니다.

小葫芦

대규모 프로젝트에는 클래스 일반 보기를 사용해 보세요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿