PythonFlask开发web指南_创建RESTAPI

后台有些朋友希望我写一写 Python 后台开发相关的,那么就来写几篇关于 Flask 的使用吧,把你们比较想知道的一些东东说一下,比如怎么使用 Flask 来创建 API,如何使用好 Flask-RESTful,Flask 怎么对接数据库,如何存储数据,数据怎么渲染,还有就是写完了应用,怎么发布给别人使用等。

如果时间允许的话,我尽量写的容易理解点,你尽量多点点在看和转发,怎么样?

第一篇,简单点,那么就来创建你的 API 吧。

安装好你的 Flask

我们知道, Flask 是一个轻量级的 web 框架,它提供了实现 web 的基础功能,而我们要做的一些数据库存储,模板引擎都可以自己扩展。

Flask 本身依赖了这么几个库:click、Werkzeug、Jinja、itsdangerous、MarkupSafe。

不过我们不用预先安装,因为我们在安装 Flask 的时候,会自动安装相关的依赖库,像这样:

pip install Flask

这就完事了...

你的第一个 web 应用

首先你可以创建一个 myapp.py,然后导入你刚刚安装的 Flask:

接着创建一个 Flask 实例,传入的参数为你的模块名称,如果是像我们现在只有当前这个 py 的话,可以传入__name__,这样 Flask 等会才能识别模块启动。

通常我们在浏览器访问某个文件的时候,会使用 “/” 来访问相应的路径,比如想要访问 fxxkpython 网站下的某个类目资源,我们会这样:?cat=343

在 Flask 中,我们可以直接使用 route 装饰器:

这样,我们就可以通过指定的路由,访问相应的资源,可以让 app 跑起来试试:

这里将这个 web 应用的端口定义为 8888, 那么可以这样访问它:

在浏览器中输入

:8888/fxxk :

可以看到我们后台定义的路由资源就被访问到了。

你可以把它当做最简单的网络服务端的应用,这时候python爬虫入门01:教你在 Chrome 浏览器轻松抓包 ,可以试试看你控制台的输出。

我们的服务端除了可以被简单的 GET 请求页面外,也可以接收不同的请求,从而返回相应的数据或操作,比如 POST、DELETE、PUT、HEAD 等等,我们可以在 FLASK 中根据具体的情况提供相应的方法。

而这,我们常会用到 REST API 。

什么是 REST API

它主要用来约束 API 的写法,让别人使用起来能感到清晰,简洁,一目了然,使用方便。像这样:

我们定义的 URI 需要清晰易于理解,例如:

这样我们一眼就能明白这是请求商品数据列表。

尽量通过 JSON 或者 XML 来传递数据对象和属性。

明确的使用 HTTP 方法(例如,get、post、put和delete)。

无状态,在请求的时候,服务端不存储客户端的上下文状态。

小帅b,:学习python的正确姿势

Flask 创建 REST API

接下来用一个简单的示例,给你演示一下 Flask 最常用到的 GET和 POST。

比如现在我们想要提供按摩会所的 API。

这篇先不讲数据库相关的,我们可以用 list 和 dict 来封装会所的名称、具体会所下的技师员工号码和价格的数据,比如有一家叫做 “超棒休闲会所”,里面有一位技师 808 号,按摩价格 666,就可以这样表示:

Flask 的 Get 请求

那么这个时候,我们要给前端提供获取所有会所数据的 API,返回 json 数据,我们就可以这样:

这里我们用到了 jsonify ,它可以将字典转化为 Json, 为了防止中文乱码,我们可以这样设置:

跑起来看看:

这样就得到了 json 数据了。

Flask 的 POST 请求

接着我们可以提供给前端一个添加会所数据的 API,使用 POST 请求,后端获取 json 数据,然后添加到列表中来:

我们可以使用 Flask 的 request,通过 get_json 方法就可以得到前端传来的 json 数据,并且转化为字典,这样我们就可以将传来的数据存储到列表中。

可以使用 curl 进行 POST 请求我们刚刚写的接口:

请求成功,我们再来获取所有数据看看:

可以看到刚刚提交的数据也在了。

ok,我们下回见,peace!

关注我

学习 Python 没烦恼

下面点赞按钮是不是很好看?

你应该懂我意思的吧...