首页 > 其他 > 详细

Flask

时间:2019-08-06 18:07:22      阅读:81      评论:0      收藏:0      [点我收藏+]

Flask学习

  一、Python 现阶段三大主流Web框架 Django Tornado Flask 对比

1.Django 主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 不管你用得到用不到,反正它全都有,属于全能型框架

2.Tornado 主要特点是原生异步非阻塞,在IO密集型应用和多任务处理上占据绝对性的优势,属于专注型框架

3.Flask 主要特点小而轻,原生组件几乎为0, 三方提供的组件请参考Django 非常全面,属于短小精悍型框架

Django 通常用于大型Web应用由于内置组件足够强大所以使用Django开发可以一气呵成

Tornado 通常用于API后端应用,游戏服务后台,其内部实现的异步非阻塞真是稳得一批

Flask 通常应用于小型应用和快速构建应用,其强大的三方库,足以支撑一个大型的Web应用

Django 优点是大而全,缺点是会造成一部分的资源浪费

Tornado 优点是异步,缺点是干净,Session都不支持

Flask 优点是精悍简单,缺点是先天不足,第三方组件稳定性较差

  二、Flask 的安装 

Terminal:

pip install Flask

技术分享图片技术分享图片

 

  三、启动Flask Web服务  

  三行代码启动 Flask 项目

技术分享图片         技术分享图片

 技术分享图片

 

  实现了Flask 的第一个HelloWorld程序

 技术分享图片

技术分享图片

   代码解读:

技术分享图片

 

  四、Flask中的Render、Redirect、HttpResponse

  1.Flask中的HTTPResponse

技术分享图片

直接返回字符串

  2.Flask 中的 render (render_template)

在pycharm中,当没有导入模块提示错误时,按住Alt键加Enter 点击导入

 技术分享图片

 技术分享图片技术分享图片

 

技术分享图片
from flask import Flask, render_template

app = Flask(__name__)

@app.route(/)
def home():
    return "hello World I am Flask"

@app.route(/index)
def index():
    return render_template(index.html)

app.run()
app.py中代码
技术分享图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    这是index页面
</body>
</html>
index.html

 技术分享图片

   3 Flask中的Redirect

技术分享图片

  以上是Web框架的 Response 三剑客

  视图函数还可以返回:

  send_file()  返回文件内容,自动识别文件类型,Content-type中添加文件类型,Content-type:文件类型

技术分享图片

 技术分享图片

技术分享图片

 

 技术分享图片技术分享图片

 技术分享图片

技术分享图片

 

  ** 浏览器特性 可识别的Content-type 自动渲染 不可识别的Content-type 会自动下载

 

 技术分享图片

 

技术分享图片

 技术分享图片

 

  jsonify() str # 返回标准格式的JSON字符串 先序列化JSON的字典,Content-type中加入 Application/json3

 

 技术分享图片

 

技术分享图片

 

  ** Flask 1.1.1 版本中 可以直接返回字典格式,无需jsonify

 技术分享图片

 

 技术分享图片

 

Flask

原文:https://www.cnblogs.com/Xiao_Xu/p/11305986.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!