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 获取 Linux 系统信息的代码
Jul 13 Python
Python求解平方根的方法
Mar 11 Python
《Python之禅》中对于Python编程过程中的一些建议
Apr 03 Python
python开发之文件操作用法实例
Nov 13 Python
Python实现计算圆周率π的值到任意位的方法示例
May 08 Python
Python使用字典实现的简单记事本功能示例
Aug 15 Python
Python 仅获取响应头, 不获取实体的实例
Aug 21 Python
浅谈python的elementtree模块处理中文注意事项
Mar 06 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 Python
django 利用Q对象与F对象进行查询的实现
May 15 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 Python
pyqt5打包成exe可执行文件的方法
May 14 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
利用 window_onload 实现select默认选择
2006/10/09 PHP
PHP封装CURL扩展类实例
2015/07/28 PHP
详解PHP中的Traits
2015/07/29 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
基于php编程规范(详解)
2017/08/17 PHP
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
JS中的构造函数详细解析
2014/03/10 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
js 获取图像缩放后的实际宽高,位置等信息
2017/03/07 Javascript
jQuery使用JSONP实现跨域获取数据的三种方法详解
2017/05/04 jQuery
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
vuex 的简单使用
2018/03/22 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
原生JS实现pc端轮播图效果
2020/12/21 Javascript
Python数据结构与算法之链表定义与用法实例详解【单链表、循环链表】
2017/09/28 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
完美解决IE8下不兼容rgba()的问题
2017/03/31 HTML / CSS
美国宠物用品网站:Value Pet Supplies
2018/03/17 全球购物
简历的个人自我评价范文
2014/01/03 职场文书
绩效工资实施方案
2014/03/15 职场文书
八项规定自查自纠报告及整改措施
2014/10/26 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
世界名著读书笔记
2015/06/25 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
优秀创业计划书分享
2019/07/19 职场文书