Flask框架
Posted liuqingyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask框架相关的知识,希望对你有一定的参考价值。
下面我们来学习一下另一个python框架Flask,和django框架相比,django是"大而全",但是浪费资源;而flask是"小而精,三方组件全",但是稳定性相对较差.
flask仅需很简单的一段代码就可以实现一个程序:
from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "Hello World" app.run()
一.Response三剑客
HttpResponse:return "Hello World"返回字符串至客户端 from flask import render_template render: renturn render_template 与Django中的render使用一致,返回模板由浏览器渲染 from flask import redirect redirect: renturn redirect("/login") #302 跳转,重定向URL
二.Flask中小儿子
(1)
from flask import jsonify return jsonify({name:111}) #返回json标准的字符串 Content-Type:application/json
(2)
from flask import send_file return send_file(path) #打开文件并返回文件内容(自动识别文件格式)
(3)flask中的request有:get,post,delete,put
from flask import request request.method #请求方式 request.form #存放formdata中的数据,to_dict 序列化字典 request.args #获取URL中的数据,to_dict 序列化成字典 request.url #访问完整路径 request.path #路由地址 request.host #主机地址 request.values #获取formdata and URL中的数据 不要用to_dict request.json #如果提交时请求头中的Content-Type:application/json 字典操作 request.data #如果提交时请求头中的Content-Type 无法被识别,将请求体的原始数据存放 byte request.cookies #获取Cookie中的数据 request.headers #获取请求头 request.files #序列化文件存储 save()
三.Jinja2
{{ }} 引用变量,执行函数 {% %} 逻辑代码 |safe /Markup 安全标签字符串 @app.template_global() 全局 @app.template_filter() 过滤 {% macro create_input(na,ty) %} {{ na }} : <input type="{{ ty }}" name="{{ na }}"> {% endmacro %} {{ create_input("username","text") }}
四.Flask中的Session
app.secret_key = "加密字符串" #用于序列化和反序列化,session信息
由于Flask中默认Session存放位置--客户端的Cookies中,所以Session需要加密,用到secret_key
请求进入视图函数,带上cookie将Session从cookie序列化出来,通过secret_key反序列化成字典
以上是关于Flask框架的主要内容,如果未能解决你的问题,请参考以下文章