内容简介:user.py文件login.py文件主文件:
a.代码模块化,不同功能的模块,划分成不同的分类,降低各功能之间的耦合度 b.蓝图:用于实现单个应用的视图、模板、静态文件的集合。 c.蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能 复制代码
2.蓝图实例
user.py文件
from flask import Blueprint
# 创建蓝图
users = Blueprint('user',__name__)
@users.route('/user')
def user():
return "User Page"
复制代码
login.py文件
from flask import Flask,Blueprint
# 创建蓝图
logins = Blueprint('login',__name__)
@logins.route('/login')
def login():
return "Login Page"
复制代码
主文件:
from flask import Flask
# 导入蓝图对象
from login import logins
from user import users
app = Flask(__name__)
@app.route('/')
def hello_world():
return "Hello World!"
#注册蓝图,第一个参数logins是蓝图对象,url_prefix参数默认值是根路由,如果指定,会在蓝图注册的路由url中添加前缀。
app.register_blueprint(logins,url_prefix='/')
app.register_blueprint(users,url_prefix='/')
if __name__ == '__main__':
print(app.url_map)
app.run(debug=True)
复制代码
3.部署
部署方式:nginx+gunicorn+flask
1.安装gunicorn :pip install gunicorn
指定进程和端口号: -w: 表示进程(worker)。 -b:表示绑定ip地址和端口号(bind)
命令:gunicorn -w 4 -b 127.0.0.1:5001 运行文件名称:Flask程序实例名
4.RESTFUL风格
a.REST是设计风格而不是标准。是指客户端和服务器的交互形式。我们需要关注的重点是如何设计REST风格的网络接口 b.REST特点: 具象的:一般指表现层,要表现的对象就是资源。比如,客户端访问服务器,获取的数据就是资源。比如文字、图片、音视频等 表现:资源的表现形式。txt格式、html格式、json格式、jpg格式等。浏览器通过URL确定资源的位置,但是需要在HTTP请求头中,用Accept和Content-Type字段指定,这两个字段是对资源表现的描述。 状态转换:客户端和服务器交互的过程。在这个过程中,一定会有数据和状态的转化,这种转化叫做状态转换。其中,GET表示获取资源,POST表示新建资源,PUT表示更新资源,DELETE表示删除资源。HTTP协议中最常用的就是这四种操作方式。 c.RESTFul架构 每个URL代表一种资源; 客户端和服务器之间,传递这种资源的某种表现层; 客户端通过四个http动词,对服务器资源进行操作,实现表现层状态转换。 复制代码
ps:1 每个URL代表一种资源,2. get post delete put分别代表增删改查 3 看URL就能知道代表那种资源
5.怎样设计符合RESTful风格的API
a.域名
将api部署在专用域名下:http://www.example.com/api/
b.版本
将API的版本号放在url中:http://www.example.com/app/1.0/info
c.路径
路径表示API的具体网址。每个网址代表一种资源。 资源作为网址,网址中不能有动词只能有名词,一般名词要与数据库的表名对应。而且名词要使用复数。
错误实例:
http://www.example.com/getGoods
http://www.example.com/listOrders
正确示例:
#获取单个商品
http://www.example.com/app/goods/1
#获取所有商品
http://www.example.com/app/goods
d.使用标准的HTTP方法
GET SELECT :从服务器获取资源。
POST CREATE :在服务器新建资源。
PUT UPDATE :在服务器更新资源。
DELETE DELETE :从服务器删除资源。
示例:
#获取指定商品的信息
GET http://www.example.com/goods/ID
#新建商品的信息
POST http://www.example.com/goods
#更新指定商品的信息
PUT http://www.example.com/goods/ID
#删除指定商品的信息
DELETE http://www.example.com/goods/ID
e.过滤信息
如果资源数据较多,服务器不能将所有数据一次全部返回给客户端。API应该提供参数,过滤返回结果。
#指定返回数据的数量
http://www.example.com/goods?limit=10
#指定返回数据的开始位置
http://www.example.com/goods?offset=10
#指定第几页,以及每页数据的数量
http://www.example.com/goods?page=2&per_page=20
f.状态码
服务器向用户返回的状态码和提示信息,常用的有:
200 OK :服务器成功返回用户请求的数据
201 CREATED :用户新建或修改数据成功。
202 Accepted:表示请求已进入后台排队。
400 INVALID REQUEST :用户发出的请求有错误。
401 Unauthorized :用户没有权限。
403 Forbidden :访问被禁止。
404 NOT FOUND :请求针对的是不存在的记录。
406 Not Acceptable :用户请求的的格式不正确。
500 INTERNAL SERVER ERROR :服务器发生错误。
g.错误信息
一般来说,服务器返回的错误信息,以键值对的形式返回
{
error:'Invalid API KEY'
}
h.响应结果
i.其他
服务器返回的数据格式,应该尽量使用JSON,避免使用XML
复制代码
以上所述就是小编给大家介绍的《Flask基础-(部署)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 微服务架构基础之轻量级部署
- CentOS部署OpenStack过程-基础和认证服务
- 『高级篇』docker之kubernetes基础集群部署(上)(33)
- 『高级篇』docker之kubernetes基础集群部署(上)(33)
- Spring Cloud Alibaba基础教程:Nacos的集群部署
- 手把手教你实践Service Mesh微服务架构 - 基础部署部分
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Producter 让产品从0到1
周楷雯 / 人民邮电出版社 / 2016-12-25 / CNY 69.00
这是一本以App Store首页推荐的成功App为例阐述如何完成一款App产品的设计、开发和营销的书。在这本书之后,作者的《一炷香》和《字里行间》两款产品也接连被App Store首页推荐。 《Producter 让产品从0到1》从产品的设计、产品的实现、产品的迭代、产品的营销、产品的进阶等几个角度,全面讲解了产品设计的基本原则、设计的重要性、设计的感觉、实用的设计工具、简单的iOS开发、产......一起来看看 《Producter 让产品从0到1》 这本书的介绍吧!