#DJ

Django Rest Framework源码剖析(六)-----序列化(serializers)

一、简介djangorestframework中的序列化组件,可以说是其核心组件,也是我们平时使用最多的组件,它不仅仅有序列化功能,更提供了数据验证的功能(与django中的form类似)。便于展现的序列化操作,我们需要在model添加外键、多对多情况。以下是新的models(请删除原有的数据库,重新migrate):...

Django Rest Framework源码剖析(五)-----解析器

一、简介解析器顾名思义就是对请求体进行解析。为什么要有解析器?原因很简单,当后台和前端进行交互的时候数据类型不一定都是表单数据或者json,当然也有其他类型的数据格式,比如xml,所以需要解析这类数据格式就需要用到解析器(也可以将请求体拿到,然后利用其他模块进行解析)。二、基本使用1.json解析器同样以订单视图为例,...

Django Rest Framework源码剖析(四)-----API版本

一、简介在我们给外部提供的API中,可会存在多个版本,不同的版本可能对应的功能不同,所以这时候版本使用就显得尤为重要,djangorestframework也为我们提供了多种版本使用方法。二、基本使用版本使用方式:1.在url中传递版本:如http://www.example.com/api?version=v1和其他...

Django Rest Framework源码剖析(三)-----频率控制

一、简介承接上篇文章DjangoRestFramework源码剖析(二)-----权限,当服务的接口被频繁调用,导致资源紧张怎么办呢?当然或许有很多解决办法,比如:负载均衡、提高服务器配置、通过代理限制访问频率等,但是djangorestframework自身就提供了访问频率的控制,可以从代码本身做控制。二、频率控制内...

Django Rest Framework源码剖析(二)-----权限

一、简介在上一篇博客中已经介绍了djangorestframework对于认证的源码流程,以及实现过程,当用户经过认证之后下一步就是涉及到权限的问题。比如订单的业务只能VIP才能查看,所以这时候需要对权限进行控制。下面将介绍DRF的权限控制源码剖析。二、基本使用这里继续使用之前的示例,加入相应的权限,这里先介绍使用示例...

django+uwsgi+nginx部署

一、nginx安装部署官方文档:http://nginx.org/安装当前稳定版本:1.12.2安装步骤:#!/bin/bashnginx_version=nginx-1.12.0if[-f"/usr/bin/wget"];thenecho"开始下载nginx...."wgethttp://nginx.org/down...
代码星球 代码星球·2020-06-16

Django Rest Framework源码剖析(一)-----认证

一、简介DjangoRESTFramework(简称DRF),是一个用于构建WebAPI的强大且灵活的工具包。先说说REST:REST是一种WebAPI设计标准,是目前比较成熟的一套互联网应用程序的API设计理论。REST这个词,是RoyThomasFielding在他2000年的博士论文中提出的。Fielding是一...

django三种文件下载方式

一、概述在实际的项目中很多时候需要用到下载功能,如导excel、pdf或者文件下载,当然你可以使用web服务自己搭建可以用于下载的资源服务器,如nginx,这里我们主要介绍django中的文件下载。实现方式:a标签+响应头信息(当然你可以选择form实现)<divclass="col-md-4"><a...

Django实现组合搜索

一、实现方法1.纯模板语言实现2.自定义simpletag实现(本质是简化了纯模板语言的判断)二、基本原理原理都是通过django路由系统,匹配url筛选条件,将筛选条件作为数据库查询结果,返回给前端。例如:路由系统中的url格式是这样:url(r'^article-(?P<article_type_id>...
代码星球 代码星球·2020-06-16

Django文件上传三种方式以及简单预览功能

 主要内容:一、文件长传的三种方式二、简单预览功能实现一、form表单上传1.页面代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title>...

Django中的F和Q函数

内容简介:介绍Django中的F和Q作用以及使用方法一、F介绍 作用:操作数据表中的某列值,F()允许Django在未实际链接数据的情况下具有对数据库字段的值的引用,不用获取对象放在内存中再对字段进行操作,直接执行原生产sql语句操作。通常情况下我们在更新数据时需要先从数据库里将原数据取出后方在内存里,然后编...
代码星球 代码星球·2020-06-16

Django之Model组件

Model组件在django基础篇就已经提到过了,本章介绍更多高级部分。一、回顾1、定义表(类)##单表fromdjango.dbimportmodelsclassuser(models.Model):#数据库表名为app_classname,比如现在这个表存在数据库中为cmdb_username=models.Cha...
代码星球 代码星球·2020-06-16

Django之form组件

一、简介web框架中避免不了对表单的验证,我们可以通过js在表单数据提交前做一次校验,然而在Django中form组件不仅仅提供验证功能,还可以生成HTML,还可以与model结合使用,等等强大的功能。先了解下主要的作用:生成HTML标签验证用户数据(显示错误信息)HTMLForm提交保留上次提交数据初始化页面显示内容...
代码星球 代码星球·2020-06-16

Django基础

一、简介Python的WEB框架有Django、Tornado、Flask等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控...
代码星球 代码星球·2020-06-16

django之项目部署上线

在开始配置之前,需要将整个项目文件拷贝一份,然后移入你想要的放置的目录中。  一、Django配置  1、settings.py配置  复制全局settings.py配置文件,创建一个副本命名为/pro_settings.py,修改DEBUG为False。DEBUG=False#填写你自己的ip和域...
代码星球 代码星球·2020-06-14
首页上一页...2021222324...下一页尾页