目录

前后端分离

http通讯

Flask轻量级框架

Flask部署

Flask初始化

Flask视图函数的路由

Flask request

flask 异常处理

flask reponse

flask cookie与session

Flask-WTF

Flask 模板

数据库扩展包flask-sqlalchemy

数据库迁移扩展包Flask-Migrate

邮件扩展包Flask-Mail

Flask蓝图

Flask单元测试


前后端分离

前后端分离:不利于SEO搜索引擎优化。

flask 后端代码架构 flask框架是前端还是后端_flask

http通讯

flask 后端代码架构 flask框架是前端还是后端_flask 后端代码架构_02

Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。

网关的作用就是在协议之间进行转换。

WSGI"中间件”组件可以执行以下功能:

  • 重写环境变量后,根据目标URL,将请求消息路由到不同的应用对象。
  • 允许在一个进程中同时运行多个应用程序或应用框架。
  • 负载均衡和远程处理,通过在网络上转发请求和响应消息。
  • 进行内容后处理,例如应用XSLT样式表。

WSGI就像是一座桥梁,一边连着web服务器,另一边连着用户的应用

  • WSGI是一种通信协议。
  • uwsgi同WSGI一样是一种通信协议。
  • 而uWSGI是实现了uwsgi和WSGI两种协议的Web服务器。

为什么有了uWSGI为什么还需要nginx?因为nginx具备优秀的静态内容处理能力,然后将动态内容转发给uWSGI服务器,这样可以达到很好的客户端响应。

Flask轻量级框架

轻量级框架如flask,tornado;重量级框架django;

1.虚拟环境

flask 后端代码架构 flask框架是前端还是后端_扩展包_03

Flask部署

app.run()启动flask自身的测试服务器,可以用别的服务器代替run()

例如nginx+gunicorn+flask

开一个端口:

flask 后端代码架构 flask框架是前端还是后端_flask 后端代码架构_04

开多个端口:

5000改成5001

配置nginx:

配置usr/local/nginx.conf

一台:

flask 后端代码架构 flask框架是前端还是后端_flask_05

多台:

flask 后端代码架构 flask框架是前端还是后端_服务器_06

重启nginx生效更改。

flask 后端代码架构 flask框架是前端还是后端_flask_07

flask 后端代码架构 flask框架是前端还是后端_flask_08

Flask初始化

app= Flask()内参数初始化;

静态文件目录static;

flask配置参数:config.cfg;对象中配置;字典;

flask 后端代码架构 flask框架是前端还是后端_服务器_09

Flask视图函数的路由

Flask request

工具:postman

flask 后端代码架构 flask框架是前端还是后端_flask 后端代码架构_10

with上下文管理器

flask 后端代码架构 flask框架是前端还是后端_服务器_11

flask 异常处理

abort()函数终止视图函数执行;

flask reponse

元祖方式

make_response函数

返回json数据

flask 后端代码架构 flask框架是前端还是后端_flask 后端代码架构_12

flask cookie与session

请求钩子,自动执行

flask 后端代码架构 flask框架是前端还是后端_flask_13

Flask-WTF

Flask 模板

表单扩展

闪现flash

数据库扩展包flask-sqlalchemy

sqlalchemy关系型数据库框架;

flask 后端代码架构 flask框架是前端还是后端_扩展包_14

数据库迁移扩展包Flask-Migrate

更新数据库;回退数据库;

邮件扩展包Flask-Mail

可以发邮件。

Flask蓝图

蓝图实现模块划分;

循环引用的问题;

以目录定义蓝图;

Flask单元测试

import unittest

flask测试模式