码迷,mamicode.com
首页 > 其他好文 > 详细

Flask框架

时间:2019-01-07 17:49:35      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:imp   and   value   pre   out   get   path   use   put   

  下面我们来学习一下另一个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框架

标签:imp   and   value   pre   out   get   path   use   put   

原文地址:https://www.cnblogs.com/liuqingyang/p/10233915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!