Django 学习之Rest Framework 视图相关】的更多相关文章

drf除了在数据序列化部分简写代码以外,还在视图中提供了简写操作.所以在django原有的django.views.View类基础上,drf封装了多个子类出来提供给我们使用. Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验.保存.转换数据) 控制数据库查询的执行 调用请求类和响应类[这两个类也是由drf帮我们再次扩展了一些功能类. 在接下来的例子中我们将是在上一篇:Django Rest Framework_序列化器_Serializer 继续引用其数…
一.视图集使用 使用视图集ViewSet,可以将一系列逻辑相关的动作放到一个类中: list() 提供一组数据 retrieve() 提供单个数据 create() 创建数据 update() 保存数据 destory() 删除数据 ViewSet视图集类不再实现get().post()等方法,而是实现动作 action 如 list() .create() 等. 视图集只在使用as_view()方法的时候,才会将action动作与具体请求方式对应上. 在此之前首先创建一个新的app应用名为:c…
django管理界面 设计背景 为你的员工或客户生成一个用户添加,修改和删除内容的后台是一项缺乏创造性和乏味的工作.因此,django全自动地根据模型创建后台界面. django产生于一个公众页面和内容发布者页面完全分离的新闻类站点的开发过程中. 站点管理人员使用管理系统来添加新闻.时间和体育时讯等,这些添加的内容被显示在公共页面上.django通过为站点管理人员创建统一的内容编辑界面解决了这个问题. 管理界面不是为了网站的访问者,而是为了管理者准备的. 创建一个管理员账号 首先,我们得创建一个…
假设建立了django_blog项目,建立blog的app ,在models.py里面增加了Blog类,同步数据库,并且建立了对应的表.具体的参照Django 学习笔记之二的相关命令. 那么这篇主要介绍往数据库中添加数据,django默认的是sqlite3数据库. 在建立完django_blog项目后,不要忘了把 blog 加入到 settings.py 中的 INSTALLED_APPS 中. 一.同步数据库,创建相应的表 具体的参照Django 学习笔记之二的的同步数据库. 二.数据输入 下…
一:Web投票示例 本节我们首先从全局范围再复习一下Django的概念,让自己对Django的设计理念, 功能模块,体系架构,基本用法有初步的印象. Django初始的详细博客内容:请点击我 该应用包括以下两个部分: 一个可以让公众用户进行投票和查看投票结果的站点 一个可以进行增删改查的后台admin管理界面 在开始之前,我们可以查看安装的Django是什么版本,在命令行输入: python -m django --version 1.1 新建项目 进入我们指定的项目保存目录,然后运行下面的命令…
昨日内容回顾 1. Serializer(序列化) 1. ORM对应的query_set和ORM对象转换成JSON格式的数据 1. 在序列化类中定义自定义的字段:SerializerMethodField 在类中定义 get_自定义字段名(self, obj)方法 2. read_only 只在显示(查询)时才会有效. 2. 对前端POST过来的数据做有效性的校验 1. 一定要将数据以data=的形式传递到序列化类中!!! ser_obj = CommentSerializer(data=com…
[Django REST framework - 视图组件之视图基类.视图扩展类.视图子类.视图集] 视图继承关系 详图见文章末尾 视图组件可点我查看 两个视图基类:APIView.GenericAPIView from rest_framework.views import APIView APIView与View的不同之处在于: 传入到视图方法中的是REST framework的Request对象,而不是Django的HttpRequeset对象: 视图方法可以返回REST framewor…
Django Rest Framework 视图和路由   DRF的视图 APIView 我们django中写CBV的时候继承的是View,rest_framework继承的是APIView,那么他们两个有什么不同呢~~~ urlpatterns = [ url(r'^book$', BookView.as_view()), url(r'^book/(?P<id>\d+)$', BookEditView.as_view()), ] 我们可以看到,不管是View还是APIView最开始调用的都是…
一个视图函数(类),简称视图,是一个简单的Python 函数(类),它接受Web请求并且返回Web响应. 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. 无论视图本身包含什么逻辑,都要返回响应.代码写在哪里也无所谓,只要它在你当前项目目录下面.除此之外没有更多的要求了——可以说“没有什么神奇的地方”.为了将代码放在某处,大家约定成俗将视图放置在项目(project)或应用程序(app)目录中的名为views.py的文件中. 一个简单的视图 下面是一个…
目录 Django REST framework 视图GenericAPIView GenericAPIView 例子 属性 混入 具体视图类 自定义基类 Django REST framework 视图GenericAPIView GenericAPIView 这个类扩展了REST框架的APIView类,通过GenericAPIView与一个或多个mixin类组合而构建的 例子 在使用通用视图时,将覆盖原视图,并设置多个类属性 from django.contrib.auth.models i…
一.Django的View(视图) 1.一个简单的视图 3.CBV和FBV 4.给视图加装饰器 使用装饰器装饰FBV 使用装饰器装饰CBV 二.Request对象和Response对象 1.request对象 1.请求相关的常用值 2.属性 3.方法 2.Response对象 1.使用 2.属性 3.JsonResponse对象 三.Django shortcut functions 1.render() 2.redirect() 一.Django的View(视图) 一个视图函数(类),简称视图…
Django框架03 /视图相关 目录 Django框架03 /视图相关 1. 请求相关 2.响应相关 3.FBV和CBV 视图(视图函数和视图类) 3.1 类视图 CBV 3.2 视图函数 FBV 3.3 视图加装饰器 1. 请求相关 HTTPRequest对象 HTTPRequest对象就是咱们的视图函数的参数request 当一个页面被请求时,Django就会创建一个包含本次请求原信息(请求报文中的请求行.首部信息.内容主体等)的HttpRequest对象. Django会将这个对象自动传…
类视图 在写视图的时候,Django除了使用函数作为视图,也可以使用类作为视图.使用类视图可以使用类的一些特性,比如继承等. View django.views.generic.base.View是主要的类视图,所有的类视图都是继承自他.如果我们写自己的类视图,也可以继承自他.然后再根据当前请求的method,来实现不同的方法.比如这个视图只能使用get的方式来请求,那么就可以在这个类中定义get(self,request,*args,**kwargs)方法.以此类推,如果只需要实现post方法…
快速安装指南 py -3 -m pip install django >>> import django >>> django.get_version() '2.2.6' 查看版本也可以这样: C:\Users\Lenovo>py -m django --version 2.2.6 编写第一个Django应用-投票应用程序 投票应用程序由两部分组成: 一个让人们查看和投票的公共站点 一个让你能添加.修改和删除投票的管理站点 创建项目django-admin sta…
一:Web框架介绍 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以快速帮你开发特定的系统. Web框架是别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你需要的样子.简单说,就是你用别人搭建好的舞台来表演. 一般Web框架的架构这样的: 其他基于Python的Web框架,图tornado,flask,webpy都是在这个范围内进行增删裁剪的.例如tornado用的是自己的异步非阻塞“wsgi”,flask则只提供了最…
Django学习之DRF-03 视图集    1.视图集介绍    2.视图集基本使⽤        1.需求 使⽤视图集获取列表数据和单⼀数据        2.实现 class BookInfoViewSet(mixins.ListModelMixin, mixins.RetrieveModelMixin, GenericViewSet): """使⽤视图集实现返回列表数据和单⼀数据""" queryset = BookInfo.object…
Django学习之DRF02 Serializer序列化器之反序列化操作    1.调⽤序列化器进⾏验证        0.准备序列化器 class BookInfoSerializer(serializers.Serializer): """图书数据序列化器""" id = serializers.IntegerField(label= 'ID', read_only= True) btitle = serializers.CharField(…
一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与注册系统 要求: 有用户注册页面 有用户登录页面 有用户登录成功的页面 有注册和登录的验证码提示 三,编码规范需求: 编码规范需求:15% 1. 代码规范遵守pep8 (https://python.org/dev/peps/pep-0008/) 2. 函数有相应的注释 3. 程序有文档说明文件(R…
用户认证组件的学习 用户认证是通过取表单数据根数据库对应表存储的值做比对,比对成功就返回一个页面,不成功就重定向到登录页面.我们自己写的话当然也是可以的,只不过多写了几个视图,冗余代码多,当然我们也可以封装成函数,简单代码.不过推荐使用Django提供的一套用户认证组件,原理其实类似,只不过功能更强大. 1,用户认证——auth模块 在进行用户登录验证的时候,如果是自己写代码,就必须要先查询数据库,看用户输入的用户名是否存在于数据库中:如果用户存在于数据库中,然后在验证用户输入的密码,这样一来,…
Django框架之表单(续二) 今天的这篇博客将是Django学习笔记博客的最后一篇,基本每周最少一篇的Django框架学习,坚持到今天也实属不易,当然了,这个框架的学习仅仅是Django框架的基础部分了,不过也够我们平时搭个简易的网站或者个人博客什么的.希望通过这一系列的博文,让大家也从中体会到Django框架的魅力所在,如果很不幸,你没有体会到,只能说明我水平有限,无法将如此美丽的事物展示与你,闲话少说,下面开始继续学习表单的相关知识. 编写Contact表单 这个表单包括用户提交的反馈信息…
本文学习如何通过Django使用Bootstrap.其实在之前好几个Django项目中已经尝试使用过了Bootstrap,而且都留有学习记录,我已经大概有了一个大的框架,那么本文就从头再走一遍流程,其实主要细节还是Bootstrap的常用的语法使用.除了基本流程,本文基于BBS+Blog项目进行学习,主要是完成其项目的模板的功能,顺带学习一下Bootstrap的内容. 我使用的Python版本为3.X,Bootstrap版本为3.3.31,Django版本为2.0. 模板语法不懂的可以参考博客:…
本文主要学习验证码功能的实现,为了项目BBS+Blog项目打下基础. 为了防止机器人频繁登陆网站或者破坏分子恶意登陆,很多用户登录和注册系统都提供了图形验证码功能. 验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序.可以防止恶意破解密码.刷票.论坛灌水,有效防止某个黑客对某一个特定…
一,项目题目:扩展Django自带User模型,实现用户注册与登录 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册,登录,用户认证,注销,修改密码等功能.Django作为一个完美主义者的终极框架,当然也会想到用户的这些痛点,它内置了强大的用户认证系——auth,所以本文在不建立User模型的情况下实现用户的注册,登录和认证.另外对Django Auth自带的User模型进行扩展,运行用户添加更多的个人信息. 我在之前的Django学习笔记(9)——开…
原 Django学习之路由分发和反向解析 2018年07月12日 14:04:55 huangql517 阅读数 519 1>路由分发 我们之前学习的路由配置都是在项目的全局控制文件(项目名称目录下的urls.py), 这个一个文件当中配置映射关系,当一个项目的url越来越多时,比如项目当中一般都分一级菜单,二级菜单等等 这些主页面url和众多不同分类下的子页面url全都挤在一个文件下,就会造成后期维护的困难, 所以,引入路由分发来解决这个问题, 其思想就是,一些公共的主页面/整个网站的一级菜单…
今天好像巴黎有点乱,希望明天太阳还会照常升起. 简介 Django 是一个由 Python 编写.开源并采用经典的 MVC 设计模式的 Web Full Stack 应用框架. 在 Django 中,控制器接受用户输入的部分由框架自行处理,所以 Django 里关注更多在模型( Model ).模板( Template )和视图( Views ),称为 MTV 模式.他们各自的职责如下: 模型( Model ),数据存取层:处理与数据相关的所有事务,即如何存取.如何验证有效性.包含哪些行为以及数…
1.前言 通过前面博客[django学习-10.django连接mysql数据库和创建数据表]里的操作,我们已经成功在数据库[hongjingsheng_project]里创建了一张数据表[hello_person]. 接着,我们通过完整的前后端交互,来展示django框架如何通过相关操作来实现对指定的一个数据表[hello_person]进行数据的新增/编辑/查询/删除这四种基本操作. 细节: ①.为了单独验证对数据表[hello_person]进行数据的新增/编辑/查询/删除这四种基本操作,…
在之前的文章中,你已经学习了如何实现每个层次结构一个表继承.本节中你将学习使用Entity Framework Code First来开发ASP.NET web应用程序时可以利用的高级功能. 在本节中你将重用之前已经创建的页面,接下来你需要新建一个页面并使用原始SQL来批量更新数据库中所有Course的学分. 在Department Edit页面中添加新的验证逻辑并使用非跟踪查询. 执行原始SQL查询 Entity FrameworkCode First API包含有可以让你直接向数据库发送SQ…
 Django学习系列之Form基础 2015-05-15 07:14:57 标签:form django 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://5ydycm.blog.51cto.com/115934/1651453 Form对与一个网站来说就是一个灵魂,今天我们就来说说Django的Form概述. 本文内容来自官网,互联网及自己实验所得. 表单(forms.py)的定义: #coding:utf-8from dj…
疯狂的暑假学习之  Django学习笔记(五)-- 表单 參考:<The Django Book> 第7章 1. HttpRequest对象的信息 request.path                                 除域名以外的请求路径,斜杠开头                      "/hello/" request.get_host()                      主机名                              …
在之前的文章中,你已经学习了怎样实现每一个层次结构一个表继承. 本节中你将学习使用Entity Framework Code First来开发ASP.NET web应用程序时能够利用的高级功能. 在本节中你将重用之前已经创建的页面,接下来你须要新建一个页面并使用原始SQL来批量更新数据库中全部Course的学分. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvam9obnNvbmJsb2c=/font/5a6L5L2T/fontsize/400/fil…