目录
一、Flask介绍
1.Flask介绍
二、环境搭建
1、安装 虚拟环境
2、配置虚拟环境主目录
3、虚拟环境操作
1.创建虚拟环境
2.查看所有虚拟环境
3.切换进入虚拟环境
4.离开虚拟环境
5、安装 flask
6、pip高级使用
三、flask项目配置
1、flask配置理解
2、配置对象加载
3、配置文件加载
4、环境变量中加载
一、Flask介绍
1.Flask介绍
Flask诞生于2010年, 使用python语言基于Werkzeug工具箱编写的轻量级Web开发框架
Flask本身相当于一个内核, 其他几乎所有的功能都要用到扩展(邮件:Flask-Mail, 用户认证:Flask-Login, 数据库:Flask-SQLAlchemy).
Flask的"轻", 不代表其功能不够强大, Flask拥有丰富的扩展, 其依赖于扩展来给应用添加功能, 众多的插件提供了数据库集成, 表单验证, 上传处理,各种各样的开放认证技术等, Flask的这些特性使得它在web开发方面变得非常流行
Flask的核心在于Werkzeug(路由模块), Jinja2模板引擎.
如果构建大型项目, 使用很多扩展, Flask也会变的跟Django一样的重.
Flask的核心在于Werkzeug(路由模块), Jinja2模板引擎 类比Django:路由、模板、ORM Flask要完成功能,依赖于丰富的插件(扩展模块)
常问问题:
1、Django与Flask有什么区别
二、环境搭建
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的同时, 会自动安装上面的两个依赖.
1、安装 虚拟环境
pip install virtualenvwrapper-win
2、配置虚拟环境主目录
在windows上环境变量中 添加 环境变量 WORKON_HOME
配置上目录 W:\virtual_envs
3、虚拟环境操作
1.创建虚拟环境
mkvirtualenv 虚拟环境名
2.查看所有虚拟环境
workon 虚拟环境名称
3.切换进入虚拟环境
workon 虚拟环境名 C:\Users\fan>workon xiaofa (xiaofa) C:\Users\fan>
查看命令是否在虚拟环境中,要看 命令行的前缀是否有括号(虚拟环境名)
4.离开虚拟环境
deactivate
5、安装 flask
pip install flask==1.0.2
6、pip高级使用
- 导出环境中所有的包
pip freeze > requirements.txt
- 在环境中 批量安装包
pip install -r requirements.txt
- Flask入门实现步骤
# 1.导入Flask类
from flask import Flask
# 2.实例化Flask对象
app = Flask(__name__)
# 3.编写路由与视图
@app.route('/')
def index():
return 'Hello Flask'
# 4.启动服务
if __name__ == '__main__':
app.run()
知识点抽取
1.实例化Flask对象:
app = Flask(__name__)
1).__name__参数用于确定启动程序的位置
2).__name__参数可以传递除了标准模块名的任意字符串, 但不推荐
3).__name__参数如果传递标准模块名, 不影响路由的匹配, 但会影响静态文件的加载
2.@app.route('/'): 路由配置
@app.route('路由')是一装饰器的形式构建路由的, 其第一个参数为路由路径
3.app.run(): Flask实例的方法, 用于启动web服务, 可选参数如下:
- host: 服务启动的IP地址
- port: 服务启动的端口
- debug: 是否以调试模式启动
示例: app.run(host='127.0.0.1', port=8899, debug=True)
三、flask项目配置
1、flask配置理解
app.config 是一个类字典的对象,里面已经有了很多默认的配置。我们可以向里面添加自己新的配置
- 向配置中添加配置
# 配置信息
print(app.config)
app.config["room"] = "407"
app.config["MYSQL_HOST"] = "127.0.0.1"
- 从配置中获取配置变量对应的值
# 获取配置中的信息
print(app.config["room"])
print(app.config["MYSQL_HOST"])
2、配置对象加载
我们把配置信息 写入到一个类中,然后 去加载
配置类是:
配置类 我们写入到 settings模块 (settings.py)
# 定义一个配置类
# 属性 必须是 全大写
class Config:
# 配置 属性=值
ROOM = "407"
MYSQL_HOST = "127.0.0.1"
app.py
from flask import Flask
from settings import Confing
app = Flask(__name__)
app.config.from_object(Confing)
print(app.config)
print(app.config.get("ROOM"))
print(app.config.get("MYSQL_HOST"))
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
3、配置文件加载
我们直接把配置信息 写入到文件中,然后去加载
# 定义一个配置类
# 属性 必须是 全大写
ROOM = "3308"
MYSQL_HOST = "192.168.0.54"
app.py
from flask import Flask
from settings import Confing
app = Flask(__name__)
app.config.from_pyfile("settings.py")
print(app.config)
print(app.config.get("ROOM"))
print(app.config.get("MYSQL_HOST"))
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
4、环境变量中加载
我们在pycharm中定义一个环境变量,这个环境变量指向一个目录下的文件
我在桌面上创建一个a.txt文件 写入如下内容:
在pycharm中定义一个环境变量 aaa 指向 a.txt文件
在flask中使用 这个环境变量aaa
from flask import Flask
app = Flask(__name__)
app.config.from_envvar("aaa")
print(app.config.get("ROOM"))
print(app.config.get("MYSQL_HOST"))
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()