| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 初识flask -> 正文阅读 |
|
[Python知识库]初识flask |
1.Flask框架介绍与环境搭建1.1Flask介绍 Flask诞生于2010年, 使用python语言基于Werkzeug工具箱编写的轻量级Web开发框架 Flask本身相当于一个内核, 其他几乎所有的功能都要用到扩展(邮件:Flask-Mail, 用户认证:Flask-Login, 数据库:Flask-SQLAlchemy). ? ?Flask的核心在于Werkzeug(路由模块), Jinja2模板引擎. # Flask的"轻" ? ?Flask的"轻", 不代表其功能不够强大, Flask拥有丰富的扩展, 其依赖于扩展来给应用添加功能, 众多的插件提供了数据库集成, 表单验证, 上传处理,各种各样的开放认证技术等, Flask的这些特性使得它在web开发方面变得非常流行 ? ?# 注意: 如果构建大型项目, 使用很多扩展, Flask也会变的跟Django一样的重. 1.2.Flask框架环境搭建 # 安装虚拟环境管理包: virtualenvwrapper pip install virtualenvwrapper ? # 虚拟环境命令 创建虚拟环境: mkvirtualenv envname 激活虚拟环境: workon envname 查看虚拟环境: lsvirtualenv 移除虚拟环境: rmvirtualenv envname 退出虚拟环境: deactivate ? ? # 环境依赖技巧 生成依赖清单: pip freeze > requirements.txt 自动安装依赖: pip install -r requirements.txt # Flask框架的安装 pip install flask==1.0.2 ? # 注意: flask的核心是Werkzeug和Jinja2, 所以在安装Flask的同时, 会自动安装上面的两个依赖. flask核心在于werkzeug(路由模块),jinja2模拟引擎 类比django,路由,模板,ORM flask 要完成功能,依赖于丰富的插件(扩展模块) 常见问题: django与flask 有什么区别 2.配置虚拟环境主目录在windows上环境变量中添加环境变量 WORKON_HOME 配置上目录 D:\virtual_envs 3.虚拟环境操作3.1 虚拟环境命令 # 虚拟环境命令 创建虚拟环境: mkvirtualenv envname 激活虚拟环境: workon envname 查看虚拟环境: lsvirtualenv 移除虚拟环境: rmvirtualenv envname 退出虚拟环境: deactivate 4.安装flaskpip install flask==1.0.2 5.pip 高级使用导出环境中所有的包pip freeze > requirements.txt 自动安装依赖: pip install -r requirements.txt flask项目配置1.flask配置理解app.config是一个类字典的对象,里面已经有了很多默认的配置,我们可以向里面添加自己新的配置 向配置里添加配置 配置信息 print(app.config) app.config['room'] = '407' 从配置中获取配置变量对应的值 获取配置中的信息 print(app.config.get(room)) 2.配置对象加载 我们把配置信息,写入到一个类中,然后去加载 从配置对象中加载 # 1.从配置对象中加载 ? # (1).实现步骤: ? ?- 创建配置类(建议单独文件中创建) ? ?- 加载配置对象 ? ?- 使用配置 ? # (2).示例: 1).settings.py代码: ? ?class DefaultConfig(object): ? ? ? ?MYSQL_HOST = '127.0.0.1' ? ? ? ?MYSQL_PORT = 3306 ? ?2).Flask实例文件代码: ? ?from flask import Flask ? ?# 导入配置类 ? ?from settings import DefaultConfig ? ? ?app = Flask(__name__) ? ?# 从配置对象中加载配置 ? ?app.config.from_object(DefaultConfig) ? ? ? ? ?@app.route('/') ? ?def index(): ? ? ? ?# get方式调用配置 ? ? ? ?mysql_port = app.config.get('MYSQL_PORT') ? ? ? ?print(mysql_port) ? ? ? ?# 字典键值方式调用配置 ? ? ? ?mysql_host = app.config['MYSQL_HOST'] ? print(mysql_host) ? ? ? ?return 'load config from object' ? 2.1从配置对象加载 配置类: 配置类,写入到setting模块中(setting.py) 定义一个配置类 属性必须全是大写 class Config: 配置属性=值 ROOM = "407" MYSQL_HOST = "127.0.0.1" 2.2从配置文件加载 # 2.从配置文件加载 ? # (1).实现步骤: - 创建配置文件(py文件或其他格式文件均可) ? ?- 加载配置文件 ? ?- 使用配置 ? ? # (2).示例: 1).创建配置文件settings.py, 并编写配置信息: ? ?MYSQL_HOST = '127.0.0.1' ? ?MYSQL_PORT = 3306 ? ?2).Flask实例代码: ? ?from flask import Flask ? ? ?app = Flask(__name__) ? ?# 从文件加载配置 ? ?app.config.from_pyfile('settings.py') ? ? ? ?@app.route('/') ? ?def index(): ? ? ? ?# 获取配置信息 ? ? ? ?mysql_port = app.config.get('MYSQL_PORT') ? ? ? ?print(mysql_port) ? ? ? ?mysql_host = app.config['MYSQL_HOST'] ? ? ? ?print(mysql_host) ? ? ? ?return 'Hello Flask' ? ? ? ?if __name__ == '__main__': ? ? ? ?app.run() 2.3从环境变量中加载 3.从环境变量中加载(1).实现步骤:- 创建配置文件(存放敏感信息, 不与项目同目录) - 添加配置文件环境变量 - 获取配置 (2).添加配置文件环境变量1).创建配置文件, 并拷贝配置文件路径: 步骤略 2).加载配置文件: app.config.from_envvar('settings') 注意: 如果配置文件加载不到则会抛出异常, 禁止抛出异常可以添加silent参数为TRUE, 即app.config.from_envvar('settings', silent=True) 3).设置配置文件的环境变量, 如下图: 4).获取配置与上面两种方式一致 ? 三种配置方式对比: 1.从对象加载配置: 配置方式灵活, 可复用性强, 但不安全 2.从文件加载配置: 复用性不好, 也不安全, 但是官方推荐用法 3.从环境变量加载: 相对安全, 利于配置敏感信息, 推荐使用 3.2.Flask路由定义 # 路由定义 Flask的路由为装饰器实现的, 语法及参数如下: @app.route(url, method=[....], endpoint="...") def index(): ? ?pass ? # 参数: - URL: 路由路径 - method: 视图允许的请求方法, 如不指定method, 则默认只允许GET请求访问视图 - endpoint: 端点, 可以视为路由别名, 如果endpoint不指定, 则默认endpoint的值为视图函数名 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 21:05:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |