特性概述
- 视图函数:一个视图函数对应一个路由(@app.route(‘/xxx’))的处理函数
- 视图:View 对视图函数进行了进一步抽象,使 http 请求的处理更简单
- Flask-Restful:对视图进一步封装,实现Json格式数据输入输出的解析和验证等
- 蓝本:动态注册一个功能模块
- 模板:提供占位符等形式实现 HTML 文本内容的动态渲染
- 模型:数据库的对象关系映射(ORM),用于以对象的方式访问数据库
常用扩展库
- Flask-SQLalchemy:操作数据库的ORM;
- Flask-migrate:管理迁移数据库;
- Flask-Mail: 邮件;
- Flask-WTF:表单;
- Flask-Bable:提供国际化和本地化支持,翻译;
- Flask-script:插入脚本;
- Flask-Login:在Session中记录并认证用户的登录状态;
- Flask-OpenID:认证;
- Flask-RESTful:开发REST API的工具;
- Flask-Bootstrap:集成前端Twitter Bootstrap框架;
- Flask-Moment:本地化日期和时间;
- Flask-Admin:简单而可扩展的管理接口的框架
架构依赖
- Werkzeug Web服务器网关接口
- Jinja2 模板引擎
- itsdangerous 数据加密
- MarkupSafe 防注入攻击
概念介绍
- WSGI 是为 Python 语言定义的 Web 服务器和 Web 应用程序或框架之间的一种简单而通用的接口,这东西是一个Gateway,也就是网关。网关的作用就是在协议之间进行转换。
- uWSGI 是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。
- Gunicorn 是一个Web服务器,和uWSGI是竞品
- nginx 具备优秀的静态内容处理能力,然后将动态内容转发给uWSGI服务器,这样可以达到很好的客户端响应。
Demo 代码
from flask import Flask
app = Flask(__name__)
ifr="""
<iframe
width="1000"
height="800"
seamless
frameBorder="0"
src="http://127.0.0.1:8088"
>
</iframe>
"""
# 通过装饰器注册路由表
@app.route('/')
def hello_world():
return ifr
# 动态URL:在url规则中添加变量
@app.route('/test/<name>')
def greet(name):
return ifr
app.run()
参考文章
https://blog.csdn.net/weixin_44827418/article/details/106608095 https://blog.csdn.net/muttry/article/details/82843695
|