Class-based views¶ A view is a callable which takes a request and returns a response. This can be more than just a function, and Django provides an example of some classes which can be used as views. These allow you to structure your views and reuse code by harnessing inheritance and...
而在class-based views中,你可以用不同的类实例的方法来响应不同的HTTP request,如: fromdjango.httpimportHttpResponsefromdjango.views.generic.baseimportViewclassMyView(View):defget(self, request):#<view logic>returnHttpResponse('result')defpost(self, request):#<view logic>returnHttpResponse('result')...
视图远不只是个函数,Django提供了一些可用作视图的类的示例,允许你通过继承和复用构建自己的视图并且复用这些代码。虽然接下来还会介绍一些用于任务的通用视图,但你可能想自己设计可复用的视图结构,以便针对某些特殊场景。详情请见 class-based views reference documentation</ref/class-based-views/index> 。
既然尝试了使用class-based view,那么接下来就把项目中的function view重构一下吧.在views.py中,我们写了post_list和post_detail两个视图函数 在post_list中,我们处理了多个URL的逻辑,如果使用class-based view的话,可以使用继承来复用代码,将他们拆开. 对于post_list中的所有模板,都会显示分类导航,侧边栏和底部导航...
一、Class-Based Views Vs Function-Based Views 从字面上理解,Function-Based Views,即“ 基于函数的视图 ”。 在入门阶段,我们用到的都是Function-Based Views,于是我们会看到熟悉的: def example(request): if request.method == 'POST': # else: ...
简介:在Django框架中,有两种主要的视图类型:函数视图(Function-Based Views,FBV)和类视图(Class-Based Views,CBV)。本文将解释这两种视图类型的概念、优缺点以及如何使用它们。 即刻调用文心一言能力 开通百度智能云千帆大模型平台服务自动获取1000000+免费tokens 立即体验 Django是一个高级Python Web框架,它鼓励快速开发...
对于这些场景,Django提供了几个class-based view来处理: ListView UpdateView CreateView DeleteView 这几个类视图分别对应着查询ListView、更新UpdateView、创建CreateView、删除DeleteView这几个操作。在整体上就可以分为查看、修改两个类型。下面,我们来通过一个例子来展现一下这几个View怎么使用。假设我们需要实现一个用...
有朋友反映说对于 Django 的 class-based-view(基于类的通用视图)还有很多不明白的地方,因此接下来我们会出一系列文章讲解几个常用的基于类的视图的用法,并在适当的源码层面下讲解其机理和如何按照我们的需要拓展它。 本教程首先介绍两个 Blog 项目中遇到的通用视图:ListView和DetailView。从名字我们可以对其功能略窥一...
CBV(class base views)基于类的视图,就是在视图里使用类处理请求 FBV FBV基于函数的这种类型我们一直在使用,比如: 代码语言:javascript 复制 '''urls.py'''urlpatterns=[path("login/",views.login),]'''views.py'''from django.shortcutsimportrender,HttpResponse ...
FBV(function base views)是在视图里基于函数形式处理请求。 CBV(class base views)是在视图里基于类的形式处理请求。 Python是一个面向对象的编程语言,如果只用函数来开发,有很多面向对象的优点就错失了(继承、封装、多态)。所以Django在后来加入了Class-Based-View。可以让我们用类写View。这样做的优点主要下面两种...