Django视图类型总结


Posted in Python onFebruary 17, 2021

在对Django的视图有所了解后,我们进一步对视图的分类进行讨论。视图有两种类型,划分为基于功能的视图和基于类的视图,两种视图在功能和使用上各有不同。我们需要对它们进行学习,并能够分清这两种视图的不同之处。下面我们就Django视图的类型带来详解。

1、基于功能的视图

基于函数的视图是使用python中的函数编写的,该函数以HttpRequest对象作为参数并返回HttpResponse对象。基于功能的视图通常分为4种基本策略,即CRUD(创建,检索,更新,删除)。CRUD是用于开发的任何框架的基础。

# import the standard Django Model
# from built-in library
from django.db import models
# declare a new model with a name "GeeksModel"
class GeeksModel(models.Model):
  # fields of the model
  title = models.CharField(max_length = 200)
  description = models.TextField()
  # renames the instances of the model
  # with their title name
  def __str__(self):
    return self.title

2、基于类的视图

基于类的视图提供了一种将视图实现为Python对象而非函数的替代方法。与基于函数的视图相比,基于类的视图更易于管理。

from django.views.generic.list import ListView
from .models import GeeksModel
class GeeksList(ListView):
  # specify the model for list view
model = GeeksModel

以上就是Django视图的类型,大家对基础的内容有所掌握后,可以动手尝试下代码部分的运行,加深对两种不同视图的理解。

内容扩展:

ListView

在我们的博客应用中,有几个视图函数是从数据库中获取文章(Post)列表数据的:

blog/views.py

def index(request):
  # ...

def archive(request, year, month):
  # ...

def category(request, pk):
  # ...

def tag(request, pk):
  # ...

这些视图函数都是从数据库中获取文章(Post)列表,唯一的区别就是获取的文章列表可能不同。比如 index 获取全部文章列表,category 获取某个分类下的文章列表。

到此这篇关于Django视图类型总结的文章就介绍到这了,更多相关Django视图有哪些类型内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
用Python制作简单的朴素基数估计器的教程
Apr 01 Python
Python实时获取cmd的输出
Dec 13 Python
Python Paramiko模块的使用实际案例
Feb 01 Python
使用pandas读取csv文件的指定列方法
Apr 21 Python
matplotlib savefig 保存图片大小的实例
May 24 Python
Django 根据数据模型models创建数据表的实例
May 27 Python
Python随机生成身份证号码及校验功能
Dec 04 Python
Python闭包思想与用法浅析
Dec 27 Python
python 切换root 执行命令的方法
Jan 19 Python
使用matlab或python将txt文件转为excel表格
Nov 01 Python
Django DRF APIView源码运行流程详解
Aug 17 Python
pandas中关于apply+lambda的应用
Feb 28 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 #Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 #Python
Python3使用Selenium获取session和token方法详解
Feb 16 #Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
Feb 16 #Python
PyCharm+Miniconda3安装配置教程详解
Feb 16 #Python
Python3+Django get/post请求实现教程详解
Feb 16 #Python
Python3+Flask安装使用教程详解
Feb 16 #Python
You might like
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
浅析PHP的ASCII码转换类
2013/07/05 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
PHP完全二叉树定义与实现方法示例
2017/10/09 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
2018/05/23 PHP
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
javascript内存管理详细解析
2013/11/11 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
JavaScript利用append添加元素报错的解决方法
2014/07/01 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
jquery带下拉菜单和焦点图代码分享
2015/08/24 Javascript
jQuery实现左侧导航模块的显示与隐藏效果
2016/07/04 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
使用Bootstrap美化按钮实例代码(demo)
2017/02/03 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
详解webpack + react + react-router 如何实现懒加载
2017/11/20 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
了解JavaScript表单操作和表单域
2019/05/27 Javascript
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
python二叉树遍历的实现方法
2013/11/21 Python
Python多线程下载文件的方法
2015/07/10 Python
python类:class创建、数据方法属性及访问控制详解
2016/07/25 Python
Python编程实现粒子群算法(PSO)详解
2017/11/13 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
Python编写万花尺图案实例
2021/01/03 Python
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
农村结婚典礼司仪主持词
2014/03/14 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
文体活动实施方案
2014/03/27 职场文书
质量承诺书格式
2014/05/20 职场文书
教师三严三实心得体会
2014/10/11 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书