Python3,使用Flask来实现接口请求

简介: Python3,使用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__":

2、运行结果

image.png


3、网页查看

查看步骤:

①打开浏览器

②输入http://127.0.0.1:5000/

③结果如图


image.png


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、运行结果

image.png

没错,就是这么简单。


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,并进行安装


image.png

③安装完成后,在Firefox中显示样式


image.png

④启动RestClient


image.png

2.4.3 执行POST请求

1、执行步骤

①执行编写的代码

②在RESTClient的url中输入 http://127.0.0.1:5000/login

③正文中 输入:admin

④点击 发送 按钮


2、响应结果

image.png


3 Flask与Django 的区别


Django与Flaks都是python web开发的主流框架,那区别有哪些:


Flask提供了灵活性,简单性和细粒度的控制。

Flask不受限制,让你决定如何实现应用程序。

Django为我们的Web应用程序开发提供了管理面板,数据库界面,目录结构和ORM的全方位体验。

记住小鱼一句话:Django 是复合型框架,Flask是简易型框架


总结

如果我们的开发轻量级的网站或者某些特定的微服务,直接使用Flask 就可以。

如果我们要开发包含各种功能的传统企业级网站(比如电商,新闻内容管理,社交网站,办公OA),使用Django能帮我们节省不少寻找或开发第三方扩展的精力。


目录
相关文章
|
1月前
|
数据采集 存储 XML
Python爬虫:深入探索1688关键词接口获取之道
在数字化经济中,数据尤其在电商领域的价值日益凸显。1688作为中国领先的B2B平台,其关键词接口对商家至关重要。本文介绍如何通过Python爬虫技术,合法合规地获取1688关键词接口,助力商家洞察市场趋势,优化营销策略。
|
3天前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
19天前
|
存储 应用服务中间件 开发工具
对象存储OSS-Python设置代理访问请求
通过 Python SDK 配置 nginx 代理地址请求阿里云 OSS 存储桶服务。示例代码展示了如何使用 RAM 账号进行身份验证,并通过代理下载指定对象到本地文件。
72 15
|
18天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
57 2
|
25天前
|
数据采集 存储 API
利用Python爬虫获取1688关键词接口全攻略
本文介绍如何使用Python爬虫技术合法合规地获取1688关键词接口数据,包括环境准备、注册1688开发者账号、获取Access Token、构建请求URL、发送API请求、解析HTML及数据处理存储等步骤,强调遵守法律法规和合理使用爬虫技术的重要性。
|
1月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
203 5
|
1月前
|
数据采集 JSON 测试技术
Grequests,非常 Nice 的 Python 异步 HTTP 请求神器
在Python开发中,处理HTTP请求至关重要。`grequests`库基于`requests`,支持异步请求,通过`gevent`实现并发,提高性能。本文介绍了`grequests`的安装、基本与高级功能,如GET/POST请求、并发控制等,并探讨其在实际项目中的应用。
45 3
|
11天前
|
JSON 前端开发 JavaScript
Python中如何判断是否为AJAX请求
AJAX请求是Web开发中常见的异步数据交互方式,允许不重新加载页面即与服务器通信。在Python的Django和Flask框架中,判断AJAX请求可通过检查请求头中的`X-Requested-With`字段实现。Django提供`request.is_ajax()`方法,Flask则需手动检查该头部。本文详解这两种框架的实现方法,并附带代码示例,涵盖安全性、兼容性、调试及前端配合等内容,帮助开发者提升Web应用性能与用户体验。
31 0
|
2月前
|
JSON 前端开发 API
使用Python和Flask构建简易Web API
使用Python和Flask构建简易Web API
121 3
|
2月前
|
存储 API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API