深入解析:Django 视图 - FBV 与 CBV
Django 视图 - FBV 与 CBV
引言
Django 是一个高性能、可扩展的 Python Web 框架,广泛应用于各种 Web 应用开发。在 Django 中,视图是处理 HTTP 请求并返回响应的核心组件。Django 提供了两种主导的视图方式:基于函数的视图(Function-Based Views,简称 FBV)和基于类的视图(Class-Based Views,简称 CBV)。本文将详细介绍这两种视图方式的特点、应用场景和优缺点,以帮助开发者根据任务需求选择合适的视图方式。
一、基于函数的视图(FBV)
1.1 FBV 概述
基于函数的视图是一种简单的视图方式,通过定义一个函数来处理 HTTP 请求。在 Django 中,FBV 通常使用 @login_required 装饰器实现用户认证,并通过 render 函数返回响应。
1.2 FBV 代码示例
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
@login_required
def index(request):
return render(request, 'index.html')
1.3 FBV 优缺点
优点:
- 代码结构简单,易于理解;
- 对于小型任务或简单的应用,FBV 可以快速实现功能。
缺点:
- 对于复杂的应用,FBV 的代码难以维护和扩展;
- 重复代码较多,导致代码冗余。
二、基于类的视图(CBV)
2.1 CBV 概述
一种更加模块就是基于类的视图

浙公网安备 33010602011771号