python django 创建虚拟环境
DRF---django-rest-framework: 1.通过一个案例简单回顾一下django, 一.前后端分离,不分离
不分离:前端页面的显示,都是由后端返回的,就是说后端处理了参数,数据库,之后返回给了前端一个渲染之后的html页面,这种应用模式比较适合纯网页应用。一般使用render进行一个数据返回,把数据塞到模版里。 分离:前端通过ajax或者anxios请求数据,拿到数据,自己来展示;后端只提供你要的数据格式(json,xml等)就可以了 1.为什么要进行前后端分离(优点):
(1)pc,app(andrio,ios),pad多客户端适应,不能每个客户端都写一个接口吧
(2)前后端开发职责不清(要将前端的页面,改成模版页面,所以后端的哥们必须要懂一些前端的知识,而前端的哥们要展示数据他就必须要会写我们python的模版语法)
(3)开发效率低,互相等待
(4)一旦后端要改了语言,那么前端的html里面的模版语言也都要重写!这就是我们所说的高耦合 2.前后端分离缺点:
1.成本增加,前端要学习ajax网络请求等,后端要配合前端,给他想要的数据格式
2.前端工作量提升了
3.数据交互,必须要有文档来支撑 二.restful api:是什么
1.轻量级,一般通过http或者https协议,不需要额外的协议!常用的方法post,get,put,delete,(patch,options不常用)
2.面向资源,一目了然,具有意义(增删改查,都是动词,但是URI里要求是名词)
GET /zoos:列出所有动物园
POST /zoos:新建一个动物园
GET /zoos/ID:获取某个指定动物园的信息
PUT /zoos/ID:更新某个指定动物园的信息(提供该动物园的全部信息)
3.一般通过json或者xml
4.版本(Versioning)应该将API的版本号放入URL。
http://www.example.com/app/1.0/foo
http://www.example.com/app/1.1/foo
5.状态码(Status Codes)
200,404,500 三.序列化与反序列化的概念
序列化(encoding):把python对象编码转换成Json字符串。
反序列化(decoding):把json格式字符串解码为python对象。 四.什么是DRF
1.DRF是一个在django基础之上进行二次开发的一个前后端分离的web框架,他是严格遵守restful api规范的!,这也就是说为什么之前我们介绍了那么多
2.回顾一下django是怎么样创建项目的
django 数据库的常见的5种操作
增删改查(单一,查多条的) 五.为什么要用DRF?
说白了,DRF做了很多重复性的工作,而且也帮助我们做了很多数据的优化与调整 六.Django REST framework 简介
1.在序列化与反序列化时,虽然操作的数据不尽相同,但是执行的过程却是相似的,也就是说这部分代码是可以复用简化编写的。
2.在开发REST API的视图中,虽然每个视图具体操作的数据不同,但增、删、改、查的实现流程基本套路化,所以这部分代码也是可以复用简化编写的:
增:校验请求数据 -> 执行反序列化过程 -> 保存数据库 -> 将保存的对象序列化并返回
删:判断要删除的数据是否存在 -> 执行数据库删除
改:判断要修改的数据是否存在 -> 校验请求的数据 -> 执行反序列化过程 -> 保存数据库 -> 将保存的对象序列化并返回
查:查询数据库 -> 将数据序列化并返回
Django REST framework可以帮助我们简化上述的代码编写,大大提高REST API的开发速度。
7.认识Django REST framework Django REST framework 框架是一个用于构建Web API 的强大而又灵活的工具。
通常简称为DRF框架 或 REST framework。
DRF框架是建立在Django框架基础之上,由Tom Christie大牛二次开发的开源项目。
特点
•提供了定义序列化器Serializer的方法,可以快速根据 Django ORM 或者其它库自动序列化/反序列化;
•提供了丰富的类视图、Mixin扩展类,简化视图的编写;
•丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,满足各种需要;
•多种身份认证和权限认证方式的支持;
•内置了限流系统;
•直观的 API web 界面;
•可扩展性,插件丰富
资料:
•官方文档
•Github源码 测测试数据
insert into users (id,nick_name,gender,image,add_time,mobile) values (1,"张三",0, "images/1.jpg","2010-11-12",""),(2,"李四",0, "images/2.jpg","2011-11-12",""),(3,"王五",0, "images/3.jpg","2012-11-12",""); 创建项目:
安装包:
Pip install djangorestframework 配置
Install apps
’rest_framework’
python django 创建虚拟环境的更多相关文章
- python 3 创建虚拟环境(Win10)
python 3 创建虚拟环境(Win10) ①为什么要用虚拟环境? 为了解决一个环境多个项目的版本冲突问题 ②如何创建虚拟环境? 用窗口键+R来打开win10的运行窗口,然后在运行输入框输入cmd, ...
- Python - Virtualenv 创建虚拟环境
Virtualenv 回到顶部 为了解决各个项目的共同依赖同一个环境,造成版本冲突等,virtualenv创建一个干净的环境,在这个环境下,进行Python项目的开发等,就成为一个个独立的项目,从而避 ...
- python中创建虚拟环境
# virtualenv 虚拟环境安装 pip install virtualenv # 创建虚拟环境 virtualenv [虚拟环境名称] # 进入虚拟环境 windows : 进入 ...
- python (创建虚拟环境)
Python python 介绍 Python是一门计算机编程语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的 ...
- linux系统 python升级创建虚拟环境
Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替之前的virtualenv. 该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持.每一个虚拟环境都有其自 ...
- Windows下利用virtualenvwrapper指定python版本创建虚拟环境
默认已安装virtualenvwrapper 一.添加环境变量(可选) 在系统环境变量中添加 WORKON_HOME ,用来指定新建的虚拟环境的存储位置,如过未添加,默认位置为 %USERPROFIL ...
- python Django 创建应用
如图输入如下命令 python manage.py startapp apitest 添加应用到 autotest项目项目下 在settings.pyo 中加入“apitest”,如下图 创建视图 在 ...
- python+Django创建第一个项目
1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...
- python - django (创建到运行流程)
a = 0 """ 1. 创建 Django 操作文件 a. cmd 中选择路径: cd C:\Users\ad\PycharmProjects\index\1\文件名 ...
随机推荐
- spring boot(八)RabbitMQ使用
RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用. 消息中间件在互联网公司的使用中越来越多,刚才还看到新闻阿里将RocketMQ捐献给了apa ...
- K8S各知识点整理
一.k8s组成部分 Master 1. kube-apiserver 封装了核心对象的增删改查操作,以REST API接口方式提供给外部和内部组件调用.它维护的REST对象将持久化到Etcd中 2 ...
- 安卓——AlertDialog多样按钮
在xml 设计页面添加标签 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmln ...
- awr相关
手工生成awr快照SQL> exec dbms_workload_repository.create_snapshot; PL/SQL procedure successfully comple ...
- PAT 1015 Reversible Primes
1015 Reversible Primes (20 分) A reversible prime in any number system is a prime whose "rever ...
- Leetcode 1020. 将数组分成和相等的三个部分
1020. 将数组分成和相等的三个部分 显示英文描述 我的提交返回竞赛 用户通过次数321 用户尝试次数401 通过次数324 提交次数883 题目难度Easy 给定一个整数数组 A,只有我们可 ...
- ASP.NET 后台页面无法识别服务器控件ID
在学习asp.net 的时候 发现有个页面服务器控件无法识别,提示未知元素 解决方法 将不能识别服务器控件ID 的后台文件 类名改写,重新生成一次. 然后再改回来就可以了.
- HTML 5 <span> 标签
标签定义及使用说明 <span> 用于对文档中的行内元素进行组合. <span> 标签没有固定的格式表现.当对它应用样式时,它才会产生视觉上的变化.如果不对 <span& ...
- 二十五、过滤器Filter,监听器Listener,拦截器Interceptor的区别
1.Servlet:运行在服务器上可以动态生成web页面.servlet的声明周期从被装入到web服务器内存,到服务器关闭结束.一般启动web服务器时会加载servelt的实例进行装入,然后初始化工作 ...
- iOS 面试总结
APP崩溃 启动秒退 在新 iOS 上正常的应用,到了老版本 iOS 上秒退最常见原因是系统动态链接库或Framework无法找到.这种情况通常是由于 App 引用了一个新版操作系统里的动态库(或者某 ...