pip3 install flask
# 引入flask from flask import Flask # 实例化flask app = Flask(__name__) # 启动应用 app.run()
经过上面的代码便可启动一个flask
应用,试试在浏览器地址栏输入http://127.0.0.1:5000
,由于没有配置视图页面,因此你看到的404
页面,这个时候咱们的应用已经运行起来了。html
Flask
中是经过装饰器实现路由的。web
from flask import Flask app = Flask(__name__) # 配置路由 @app.route("/") # 定义路由执行的方法 def index(): return "<h1>Flask</h1>" app.run()
Flask
的方法默认不会加载,咱们要手动加载须要的方法Flask
提供了render_template
方法用来渲染咱们的视图模版页面。Flask
默认的模版文件存放位置为templates
,咱们先在根目录建立templates
文件夹,并在里面建立login.html
文件,进行以下编辑。<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <h1>我是登陆页面</h1> </body> </html>
下面咱们经过路由来进行这个页面的渲染shell
from flask import Flask, render_template app = Flask(__name__) @app.route("/") def index(): return "<h1>Flask</h1>" @app.route("/login") def login(): return render_template("login.html") app.run()
使用redirect
方法实现页面视图的重定向数据库
from flask import Flask, render_template, redirect app = Flask(__name__) @app.route("/") def index(): return "<h1>Flask</h1>" @app.route("/login") def login(): return render_template("login.html") # 这里是个重定向 @app.route("/redirect") def rr(): return redirect('/login') app.run()
返回一个序列化后的json
格式数据,至关于对请求头设置Content-Type: application/json
json
from flask import Flask, jsonify app = Flask(__name__) @app.route("/jsonify") def jsify(): return jsonify({"name": "JWB", "age": 23}) app.run()
上面代码运行结果以下:flask
{ "age": 23, "name": "JWB" }
send_file()
函数用来,打开并发送文件,能够发送文本、图片、小视频等api
from flask import Flask, send_file app = Flask(__name__) @app.route("/") def index(): return "<h1>Flask</h1>" @app.route("/file") def file(): return send_file("1.jpg") app.run()
在浏览器里面访问路由,会直接打开图片文件。浏览器
在run()
函数中添加如下方法,能够对启动项进行配置安全
ps: 开启debug后,Flask服务会在文件修改事后,自动重启babel
# 引入flask from flask import Flask # 实例化flask app = Flask(__name__) # 启动应用 app.run(host="0.0.0.0", port=9527, debug=True)
为Flask提供强大的命令行操做,与Django
shell相似。
Flask user session
管理,提供诸如login_user
, logout_user
, login_required
, current_user
等功能,也是其余不少Flask库的基础。
为Flask应用提供操做简单且易于扩展的数据库管理界面,与Django
自带的数据库管理app相似。
Flask与WTForms
的集成,提供强大的Form
安全和校验机制,与Django
内置的Form
功能相似。
Flask
强大的权限管理机制,灵活性强,提供了一个权限管理的基础框架,是不少Flask权限相关扩展的基础。
一个强大的Flask RESTful
框架,简单好用。
至关于Django REST Framework
的Flask版,是另外一个强大的Flask RESTful
框架。
Flask-Mail
为Flask应用添加了SMTP
邮件发送功能
Flask-User
集成了用户管理相关功能,并容许对功能作定制性修改,其相关功能包括Register
, Confirm email
, Login
, Change username
, Change password
, Forgot password
等。
Flask-User
基于Flask-SQLAlchemy
,NoSQL
数据库没法使用。
Flask-Security
让开发者可以很快的为应用添加经常使用的安全机制,其整合了Flask-Login
, Flask-Mail
, Flask-Principal
, Flask-Script
等应用。其安全机制包括:
Flask国际化和本地化扩展,基于Babel
为Flask应用添加语言包,与flask-babel
相似。