阅读 211

Flask 学习记录

环境

  • python 环境
  • pip
  • flask(pip install flask)
  • 介于 python 库包依赖的管理,每一个 python 项目最好在虚拟环境中开,以划分库包

用 Flask 起一个最简单的web服务

python xxxx启动项目

from flask import Flask

# 确定是否以此文件启动的
app = Flask(__name__)

# 开启 debug 模式 | 不用每次修改代码都重启服务 | 注意 True 要大写
app.debug = True

@app.route('/')
def home ():
    return '我是首页'

if (__name__ == '__main__'):
    app.run()
复制代码

URL 构建

from flask import Flask, escape, url_for

# escape 是为了转义解析
@app.route('/')
def index():
    return 'index'

@app.route('/login')
def login():
    return 'login'

@app.route('/user/<username>')
def profile(username):
    return '{}\'s profile'.format(escape(username))

with app.test_request_context():
    # url_for 第一个参数是函数名
    print(url_for('index'))
    print(url_for('login'))
    print(url_for('login', next='/'))
    print(url_for('profile', username='John Doe'))
复制代码
/
/login
/login?next=/
/user/John%20Doe
复制代码

Flask 里的函数

  • escape 解析路径上的特殊符号
  • url_for 看成是路由命名函数,可以做路由导向,可以带参数
  • redirect 重定向函数
  • render_template 模板渲染函数, 自动寻找根目录 templates 里的模板
  • make_response 获取响应对象
  • request 获取请求对象

注意

  1. 起文件名的时候一定不要用保留字关键字命名, 起项目的时候会报错的,因为python包机制的原因