python web开发——Django基于类的视图

2023-05-16

简介

视图是一个可调用对象,可以接收一个请求然后返回一个响应。这个可调用对象不仅仅限于函数,Django 同时提供一些可以用作视图的类。它们允许你结构化你的视图并且利用继承和混合重用代码。后面我们将介绍一些用于简单任务的通用视图,但你可能想要设计自己的可重用视图的结构以适合你的使用场景

Django 提供基本的视图类,它们适用于绝大多数的应用。所有的视图类继承自 View 类,它负责将视图连接到URL、HTTP 方法调度和其它简单的功能。

RedirectView 用于简单的HTTP 重定向,TemplateView 扩展基类来渲染模板。

在URLconf 中的简单用法

使用通用视图最简单的方法是直接在URLconf 中创建它们。如果你只是修改基于类的视图的一些简单属性,你可以将它们直接传递给as_view() 方法调用:

from django.conf.urls import url
from django.views.generic import TemplateView

urlpatterns = [
    url(r'^about/',TemplateView.as_view(template_name="about.html")),
]

传递给as_view() 的参数将覆盖类中的属性。在这个例子中,我们设置TemplateView 的template_name。可以使用类似的方法覆盖RedirectView 的url 属性。

子类化通用视图

第二种,功能更强一点的使用通用视图的方式是继承一个已经存在的视图并在子类中覆盖其属性(例如template_name)或方法(例如get_context_data)以提供新的值或方法。例如,考虑只显示一个模板about.html 的视图。Django 有一个通用视图TemplateView来做这件事,所以我们可以简单地子类化它,并覆盖模板的名称:

#some_app/views/py
from django.views.generic import TemplateView
class AboutView(TemplateView):
    template_name = "about.html"

然后我们只需要添加这个新的视图到我们的URLconf 中。TemplateView 是一个类不是一个函数,所以我们将URL 指向类的as_view() 方法,它让基于类的视图提供一个类似函数的入口:

from django.conf.urls import url
from some_app.views import AboutView
urlpatterns = [
    url(r'^about/',AboutViews.as_views()),
]

展示视图

ListView

DetailView

编辑视图

FormView

CreateView

UpdateView

DeleteView

Mixin

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python web开发——Django基于类的视图 的相关文章

  • IP地址打印格式

    在C语言中 xff0c 可以使用printf 函数打印IP地址 常见的方法是将IP地址转换为点分十进制格式 xff0c 并使用 s或 u u u u等格式说明符进行打印 以下是一些示例代码 xff1a 将IP地址转化为字符串并以 34 s
  • 子网掩码打印方式

    在C语言中 xff0c 可以使用printf 函数打印子网掩码 和打印IP地址类似 xff0c 常见的方法是将掩码转换为点分十进制格式 xff0c 并使用 s或 u u u u等格式说明符进行打印 以下是一些示例代码 xff1a 将子网掩码
  • realloc 用法 .

    最近在写source code时需要在数组的buffer小时重新申请一块buffer 故找了一些资料 xff0c 乖乖 xff0c 竟然原指针还可以 漂移 realloc 原型 xff1a extern void realloc void
  • 多个方面比较电路交换、报文交换和分组交换的主要优缺点

    xff08 1 xff09 电路交换 xff1a 由于电路交换在通信之前要在通信双方之间建立一条被双方独占的物理通路 xff08 由通信双方之间的交换设备和链路逐段连接而成 xff09 xff0c 因而有以下优缺点 优点 xff1a 由于通
  • LVDS,CML,LVPECL,VML接口详细介绍

    在平时的工作中 xff0c 经常会接触到各种差分电平的转换 xff0c 网上也有很多这样的资料 xff0c 但发现有些混乱 xff0c 所以找了TI的这份文档进行翻译 xff0c 一是系统的归类一下 xff0c 二是自己也能通过这个来加深理
  • Linux-网桥原理分析 .

    Linux 网桥原理分析 http biancheng dnbcw info linux 244269 html 目 录 1 前言 6 2 网桥的原理 7 2 1 桥接的概念 7 2 2 linux的桥接实现 8 2 3 网桥的功能 9 3
  • IP头、TCP头、UDP头详解以及定义

    一 MAC帧头定义 数据帧定义 xff0c 头14个字节 xff0c 尾4个字节 typedef struct MAC FRAME HEADER char m cDstMacAddress 6 目的mac地址 char m cSrcMacA
  • SGMII 和 Serdes 的详细说明

    Serdes xff1a SERDES是英文SERializer 串行器 DESerializer 解串器 的简称 它是一种时分多路复用 TDM 点对点的通信技术 xff0c 即在发送端多路低速并行信号被转换成高速串行信号 xff0c 经过
  • mips的内存管理-kseg0,kseg1虚拟和物理地址映射理解

    mips 24kf manual gliethttp pdf p89页 所以mips复位和中断发生 都会自动进入kernel模式 The core enters Kernel mode both at reset and when an e
  • Linux SSH Access denied(拒绝访问)解决方案

    新安装的 CentOS 7 使用 SSH 连接出现 Access denied xff0c 记录一下这个坑 详细问题如下 xff08 见图 xff09 xff1a 解决方案 查了下资料 xff0c Linux 系统默认就是禁止远程登录的 那
  • (数据结构与算法分析 一)------快速求幂算法,Java递归实现

    快速求幂算法 xff0c 递归实现 xff0c 其实算法的思想很简单 xff0c 但是感觉非常经典 xff0c 这个也是我开始看数据结构与算法分析这本书的开始把 xff0c 大学期间感觉就得深究一下算法 xff0c 课堂学习的太肤浅 xff
  • 字符串拷贝函数memcpy和strncpy以及snprintf 的性能比较

    问题 xff1a 函数memcpy dest src sizeof dest strncpy dest src sizeof dest 和snprintf dest sizeof dest s src 都可以将src字符串中的内容拷贝到de
  • snprintf函数使用总结

    一直有接触snprintf 经久不用知识点又会模糊 记录下来以便日后查看 依赖头文件 include lt stdio h gt 函数原型 int snprintf char str size t size const char forma
  • 如何在Ubuntu 18.04 LTS上使用UFW设置防火墙

    正确配置防火墙是整个系统安全中最重要的方面之一 默认情况下 xff0c Ubuntu 18 04 LTS 附带了一个名为 UFW xff08 Uncomplicated Firewall xff09 的防火墙配置工具 xff0c UFW 是
  • 全程技术干货:VR画面渲染性能是这样提升的

    本文您将了解到 xff1a 1 xff0c VR渲染面临什么问题 xff1f 2 xff0c 如何做好VR的渲染 xff1f 3 xff0c 怎样提升VR渲染的性能 xff1f 渲染对于VR内容的开发来说 xff0c 是非常重要的议题 但在
  • Python微信小程序,实现自动回复等功能(itchat模块)

    本文是使用Python的itchat模块进行微信私聊消息以及群消息的自动回复功能 xff0c 必须在自己的微信中添加微信号xiaoice ms xff08 微软的微信机器人 xff09 才能实现 xff0c 直接复制代码运行之后扫一扫二维码
  • 最大完全子图和极大连通子图

    最近学习图论的一串小结之一 完全图 amp 完全子图 amp 最大完全子图 完全图 xff1a 任意两点都恰有一条边相连的图 任意两点都相邻 完全子图 xff1a 满足任意两点都恰有一条边相连的子图 xff0c 也叫团 最大完全子图 xff
  • python3回溯找最大团

    最近学习图论的一串小结之三 数学概念见上上篇 xff1a 最大完全子图和极大连通子图 最大团问题分析可以移步这篇博文 xff1a 回溯 图论 最大团问题 xff08 求最大完全子图 xff09 代码一部分参考了这篇博文 xff1a pyth
  • python3关于经纬度、方向角、目标距离

    博主搞了半天haversin公式倒腾距离之后 xff0c 发现有现成的geopy可用 xff0c 且网上查到的一些函数用法似乎有改变 xff0c 遂整理如下 已知两点经纬度求距离 from geopy distance import geo
  • 零基础LSTM入门示例

    最近用pytorch搭了个LSTM模型 xff0c 由于博主两个都没基础 xff0c 所以查来查去兜了不少圈子 xff0c 干脆总结一个极简的LSTM代码示例 xff0c 供参考 仅使用了torch nn Module自定义模型 随便挑了a

随机推荐