zoukankan      html  css  js  c++  java
  • Flask介绍

    1. 介绍

    Flask是一种使用Python 编写的轻量级Web应用框架, 实现了基础的核心, 用extension增加其他功能
    它的WSGI工具箱采用Werkzeug, 模板引擎则使用Jinja2

    2. 使用

    2.1 路由

    from flask import Flask
    app = Flask(__name__)
    @app.route("/url")
    def handle_url:
        return "Something"

    2.2 反向路由

    from flask import url_for
    url_for()

    2.3 重定向

    from flask import redirect
    redicrect()

    2.4 请求和响应

    from flask import request
    from flask import make_response
    
    // 设置Cookie
    response = make_response(url_for('index'))
    response.set_cookie(name, json.dumps(dict))
    // 获取Cookie
    json.loads(request.cookies.get(name))

    2.5 模板

    flask.render_template

    2.5.1 模板的基本使用

    {{ value }}
    分支语句
    {% if something %}
    ...
    {% else %}
    ...
    {% endif %}
    循环语句
    {% for object in objects %}
    ...
    {% endif %}

    2.5.2 模板的继承

    // 基类: base.html
    ...
    {% block content %}
    {% endblock %}
    ...
    // 子类: child.html
    {% extends "base.html" %}
    {% block content %}
    ...
    {% endblock %}

    2.6 消息提示

    from flask import flash
    // 注意: 使用前需要配置app.secret_key
    flash(strings)
    *.html
    {{ get_flashed_messages()[n] }}

    2.7 异常

    2.7.1 异常处理

    @app.errorhandle(error_number)

    2.7.2 抛出异常

    from flask import abort
    abort(error_number)

    2.8 其他

    jsonify用于返回json数据

    3. 扩展

    3.1 Flask-Script

    用于执行外部脚本, 如连接数据库

    flask_script.Manager

    4. 部署

    4.1 部署方案

    系统: Linux(CentOS)
    WSGI服务器: Gunicorn, uWSGI, CherryPy, Tornado, Gevent, mod_wsgi(Apache)
    Web服务器: Nginx

    部署方案

    4.2 常用工具

    4.2.1 virtualenv

    $ mkdir app
    $ cd app/
    $ virtualenv flask
    New python executable in /home/user/app/flask/bin/python2
    Also creating executable in /home/user/app/flask/bin/python
    Installing setuptools, pip, wheel...done.
    
    $ source flask/bin/activate
    (flask) $
    (flask) $ deactivate

    4.2.2 Supervisor

    命令: supervisorctl
    配置: /etc/supervisor/supervisor/conf.d/app.conf

    4.3.3 其他工具

    DevOps, Fabric

    4.3 Nginx配置

    Nginx配置

    参考:
    <Flask框架和Flask-Script介绍>

  • 相关阅读:
    使用pjsip传输已经编码的视频
    xubuntu14.04下编译pjsip及pjsua2 java
    解决 Python.h:没有那个文件或目录 错误的方法
    HIbernate與不支持boolean的數據庫之間的映射
    js数组的操作
    jQuery中ajax的使用与缓存问题的解决方法
    网络游戏中应用可插拔工厂处理消息
    How to Train Triplet Networks with 100K Identities?
    (转)如何用TensorLayer做目标检测的数据增强
    图像超分辨-IDN
  • 原文地址:https://www.cnblogs.com/hzl6255/p/6925100.html
Copyright © 2011-2022 走看看