Flask基礎介紹
阿新 • • 發佈:2017-05-31
ict 常用工具 路由 服務器 nginx done .org extend redirect
1. 介紹
Flask是一種使用Python 編寫的輕量級Web應用框架, 實現了基礎的核心, 用extension增加其他功能
它的WSGI工具箱采用Werkzeug, 模板引擎則使用Jinja2
2. Flask使用
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 重定向
fromflask 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. Flask擴展模塊
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介紹>
Flask基礎介紹