深入解析: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 概述

一种更加模块就是基于类的视图

posted @ 2025-08-12 22:21  wzzkaifa  阅读(38)  评论(0)    收藏  举报