1 flask介绍
Flask是一个非常小的Python Web框架,被称为微型框架;只提供了一个稳健的核心,其他功能全部是通过扩展实现的;意思就是我们可以根据项目的需要量身定制,也意味着我们需要学习各种扩展库的使用。
2 python虚拟环境搭建
python虚拟环境管理方法: 1.virtualenv 2.Virtualenvwrapper 3.conda 4.pipenv
3 pipenv使用
┌──(kali㉿kali)-[~/Desktop/python_code] └─$ ls flask1 ┌──(kali㉿kali)-[~/Desktop/python_code] └─$ cd flask1 ┌──(kali㉿kali)-[~/Desktop/python_code/flask1] └─$ pipenv shell
┌──(flask1-l5Pm-i-x)─(kali㉿kali)-[~/Desktop/python_code/flask1] └─$ ls Pipfile #Pipfile 等于安装的插件包名 ┌──(flask1-l5Pm-i-x)─(kali㉿kali)-[~/Desktop/python_code/flask1] └─$ cat Pipfile 安装 flask ┌──(flask1-l5Pm-i-x)─(kali㉿kali)-[~/Desktop/python_code/flask1] └─$ pipenv install flask
4 flask第一个应用
新建app.py
#!/usr/bin/env python3 from flask import Flask #初始化 app =Flask(__name__) @app.route('/') def index(): return 'Hello World!' if __name__ == '__main__': app.run()
执行app.py
游览器效果
5 路由和视图函数
#!/usr/bin/env python3 # 这一行告诉系统使用哪个解释器来执行脚本,这里指定为 python3 from flask import Flask # 从flask模块中导入Flask类,用于创建Flask web应用程序实例 # 初始化 app = Flask(__name__) # 创建一个Flask应用程序实例,并赋值给变量app。__name__是当前模块的名字,代表应用程序的根路径 # 设置多个路由 @app.route('/') # 定义一个路由装饰器,当访问根路径'/'时,会调用下面的index函数 def index(): return 'Hello World!' # 定义一个视图函数index,当访问'/'路径时,返回'Hello World!'字符串 @app.route('/a') # 定义另一个路由装饰器,当访问'/a'路径时,会调用下面的add函数 def add(): return '1+1=2' # 定义一个视图函数add,当访问'/a'路径时,返回'1+1=2'字符串 @app.route('/user/<username>') # 定义一个带有动态部分的路由装饰器,'<username>'是一个动态部分,可以匹配任何字符串 def user_index(username): # 在函数中指明变量名称username,就能获取到通过路由传入的变量username return 'Hello {} '.format(username) # 定义一个视图函数user_index,该函数接受一个参数username,这是从路由动态部分获取的。函数返回'Hello '加上用户名 @app.route('/post/<int:post_id>') # 定义一个带有动态部分且类型指定的路由装饰器,'<int:post_id>'表示动态部分必须是整数类型 def show_post(post_id): return 'Post {} '.format(post_id) # 定义一个视图函数show_post,该函数接受一个整数类型的参数post_id,这是从路由动态部分获取的。函数返回'Post '加上文章ID if __name__ == '__main__': # 判断当前脚本是否作为主程序运行 app.run(debug=True)
6URL重定向
#!/usr/bin/env python3 # 导入 Flask 框架 from flask import Flask from flask import url_for from flask import redirect # 初始化 Flask 应用 app = Flask(__name__) # 设置路由到根路径 '/' @app.route('/') def index(): return 'Hello World!' # 返回欢迎信息 # 设置路由到 '/a' @app.route('/a') def add(): return '1