Flask第一部分

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

 

 

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