Flask之实现接口请求
1 引言
小鱼有一个系列博文,专门使用flask来搭建web项目,不知道各位小伙伴是否还有印象。
如果没有的话,那就不给面了啊~ ~
反正小鱼都要整理,没印象的可以看看这个。
- 《Python3,网站搭建之构建Flask项目,带你启动web服务! !》
- 《Python3,网站搭建之编写API接口,让前端页面展示数据!》
- 《Python3,网站搭建之数据库表设计及数据存储!文末的彩蛋,我酸了~》
既然已经写过Flask的系列博文,今天为啥还要搞 Flask呢?
据说今天的内容,大厂的面试官都喜欢问…
2 Flask
2.1 flask 的环境安装
老规矩,直接pip方式安装
pip install flask
很简单,如果还是不会的话,直接看小鱼这篇博文 -《Python3,网站搭建之编写API接口,让前端页面展示数据!》,里面有详细的环境安装步骤。
2.2 flask构建web框架
我说7句话,就可以构建一个web框架,你却不信…
那就老规矩,直接上代码
1、编写代码
# -*- coding: utf-8 -*-
# @Author: Carl_DJ
# @Date: 2021-01-15
from flask import Flask,request
app = Flask(__name__)
#设置路由,需要访问的网页,/ 为根目录
@app.route('/')
def index():
#我们来编写一句,Hello carl_DJ
return 'Hello carl_DJ'
# 执行app
if __name__ == "__main__":
app.run()
2、运行结果
3、网页查看
查看步骤:
①打开浏览器
②输入http://127.0.0.1:5000/
③结果如图
2.3 flask构建get请求
上面的例子,很简单,那么我们就增加点难度,看看如何调用get请求方式
1、编写代码
# -*- coding: utf-8 -*-
# @Author: Carl_DJ
# @Date: 2021-01-15
from flask import Flask,request
app = Flask(__name__)
#设置路由,需要访问的网页,/ 为根目录,<username>是个变量,也就是输入的值
@app.route('/check/<username>')
#定义函数,初始化username = None
def check_username(username = None):
#设置username 的输入值
if username == 'admin':
#如果输入admin,则返回admin
return 'username = admin'
elif username == 'superuser':
return 'username = superuser'
#如果输入的都不是,则返回None
else:
return 'username is None'
#执行
if __name__ == "__main__":
app.run()
2、运行结果
没错,就是这么简单。
2.4 flask构建post请求
2.41. 代码编写
既然get都这么简答,那么post还会难吗??
接下来,我们就来搞POST请求。
编写代码
# -*- coding: utf-8 -*-
# @Author: Carl_DJ
# @Date: 2021-01-15
from flask import Flask,request
app = Flask(__name__)
'''POST请求'''
#设置请求方式,这里限定位POST方式
@app.route('/login',methods = ['POSt'])
def login():
#获取request的方法
if request.method == 'POST':
#把request.data的值从bytes类型转换到str类型
val = str(request.data,encoding='utf8')
#打印
print(val)
#增加判断条件
if val.find('admin') == -1:
#设置返回状态信息
return 'status 400,Not found user'
else:
return 'status 200, Success!'
else:
return 'status 403 , need post method!'
#执行
if __name__ == "__main__":
app.run()
2.4.2 安装RestClient 工具
我们今天来通过RestClient工具构建请求。
1、RestClient 工具安装
①打开Firefox浏览器
②选择添加附件→选择RestClient,并进行安装
③安装完成后,在Firefox中显示样式
④启动RestClient
2.4.3 执行POST请求
1、执行步骤
①执行编写的代码
②在RESTClient的url中输入 http://127.0.0.1:5000/login
③正文中 输入:admin
④点击 发送 按钮
2、响应结果
3 Flask与Django 的区别
Django与Flaks都是python web开发的主流框架,那区别有哪些:
- Flask提供了灵活性,简单性和细粒度的控制。
- Flask不受限制,让你决定如何实现应用程序。
- Django为我们的Web应用程序开发提供了管理面板,数据库界面,目录结构和ORM的全方位体验。
记住小鱼一句话:Django 是复合型框架,Flask是简易型框架
总结
如果我们的开发轻量级的网站或者某些特定的微服务,直接使用Flask 就可以。
如果我们要开发包含各种功能的传统企业级网站(比如电商,新闻内容管理,社交网站,办公OA),使用Django能帮我们节省不少寻找或开发第三方扩展的精力。