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实现方法
Nov 18 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
Dec 12 Python
Python基础教程之内置函数locals()和globals()用法分析
Mar 16 Python
Python实现爬虫爬取NBA数据功能示例
May 28 Python
Python操作word常见方法示例【win32com与docx模块】
Jul 17 Python
从DataFrame中提取出Series或DataFrame对象的方法
Nov 10 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
详解Python修复遥感影像条带的两种方式
Feb 23 Python
python 中的paramiko模块简介及安装过程
Feb 29 Python
Python加速程序运行的方法
Jul 29 Python
pycharm激活码免费分享适用最新pycharm2020.2.3永久激活
Nov 25 Python
浅谈Python数学建模之数据导入
Jun 23 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分页显示制作详细讲解
2006/12/05 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
php命令行模式代码实例详解
2021/02/26 PHP
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
Jquery 切换不同图片示例代码
2013/12/05 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
JS实现仿京东淘宝竖排二级导航
2014/12/08 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
JS生成一维码(条形码)功能示例
2017/01/19 Javascript
js判断数组是否包含某个字符串变量的实例
2017/11/24 Javascript
在vue中读取本地Json文件的方法
2018/09/06 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
操作按钮悬浮固定在微信小程序底部的实现代码
2019/08/02 Javascript
Vue 权限控制的两种方法(路由验证)
2019/08/16 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
区分vue-router的hash和history模式
2020/10/03 Javascript
JavaScript使用setTimeout实现倒计时效果
2021/02/19 Javascript
[05:02]2014DOTA2 TI中国区预选赛精彩TOPPLAY第三弹
2014/06/25 DOTA
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
浅谈Django中view对数据库的调用方法
2019/07/18 Python
详解Django CAS 解决方案
2019/10/30 Python
django-csrf使用和禁用方式
2020/03/13 Python
Python多线程正确用法实例解析
2020/05/30 Python
详解Python中第三方库Faker
2020/09/25 Python
H5 meta小结(前端必看篇)
2016/08/24 HTML / CSS
亚洲独特体验旅游专家:eOasia
2018/08/15 全球购物
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
预订旅游活动、景点和旅游:GetYourGuide
2019/09/29 全球购物
教师个人剖析材料
2014/02/05 职场文书
班干部演讲稿
2014/04/24 职场文书
建设工地安全标语
2014/06/07 职场文书
供用电专业求职信
2014/07/07 职场文书
个人委托书范文
2015/01/28 职场文书
演讲稿之开卷有益
2019/08/07 职场文书