Flask介绍及环境搭载

一、Flask介绍

Flask的核心在于Werkzeug(路由模块), Jinja2模板引擎
​
类比Django:路由、模板、ORM
​
Flask要完成功能,依赖于丰富的插件(扩展模块)

常问问题:Django与Flask有什么区别

Flask:
​
Flask是轻量级框架
Flask自由、灵活,第三库的选择面广,可以使用强大的Python三方库
入门简单,即便没有多少web开发经验,也能很快做出网站
非常适用于小型网站
非常适用于开发web服务的API
​
Django:
​
Django适合企业级网站开发
自带的ORM很非常优秀
上手容易,开发文档详细、完善、相关资料丰富
成熟、稳定、完善,但相比于Flask,Django的整体生态相对封闭

二、环境搭建

virtualenvwrapper 来创建、管理我们的虚拟环境

开发中,我们一个项目是要对应应虚拟环境的。

2.1安装 虚拟环境

pip install virtualenvwrapper-win

2.2 配置虚拟环境主目录

在windows上环境变量中 添加 环境变量 WORKON_HOME

三、虚拟环境操作

3.1 创建虚拟环境

mkvirtualenv 虚拟环境名

3.2 查看所有虚拟环境

workon 

3.3 切换进入虚拟环境

workon 虚拟环境名

查看命令是否在虚拟环境中,要看 命令行的前缀是否有括号(虚拟环境名)

3.4 离开虚拟环境

deactivate

四、安装 flask

pip install flask==1.0.2

五、pip高级使用

  • 导出环境中所有的包

pip freeze > requirements.txt

  • 在环境中 批量安装包

pip install -r requirements.txt

六、项目配置

6.1 Flask配置理解

app.config是一个类字典的对象,里面已经有了很多默认的配置。我们可以向里面添加自己新的配置。在app.py中添加配置信息并打印

# 导包
from flask import Flask


# 2.实例化Flask对象
app = Flask(__name__)


# 配置信息
print(app.config)
appapp.config["room"] = "127"
app.config["MYSQL_HOST"] = "127.0.0.1"


# 获取配置中的信息
print(app.config["room"])
print(app.config["MYSQL_HOST"])


# 3.编写路由与视图
@app.route('/')
def hello_world():
    print("__name__=",__name__)
    return '

Hello World!

' # 4.启动服务 if __name__ == '__main__': app.run()

6.2 配置对象加载

我们把配置信息写入到一个类中,然后去加载

配置类:我们写入到settings模块

# 定义一个配置类
# 属性 必须是 全大写

class Config:

    # 配置 属性=值
    ROOM = "127"
    MYSQL_HOST = "127.0.0.1"

返回到app.py中修改

# 导包
from flask import Flask
from settings import Config


# 2.实例化Flask对象
app = Flask(__name__)


# 配置信息
print(app.config)
# appapp.config["room"] = "127"
# app.config["MYSQL_HOST"] = "127.0.0.1"
app.config.from_object(Config)


# 获取配置中的信息
# print(app.config["room"])
# print(app.config["MYSQL_HOST"])
print(app.config.get("ROOM"))
print(app.config.get("MYSQL_HOST"))


# 3.编写路由与视图
@app.route('/')
def hello_world():
    print("__name__=",__name__)
    return '

Hello World!

' # 4.启动服务 if __name__ == '__main__': app.run()

3、配置文件加载

我们直接把配置信息写入文件,然后去加载

# 定义一个配置类

ROOM = "3308"
MYSQL_HOST = "172.20.10.3"

4、环境变量中加载

在pycharm中定义一个环境变量,这个环境变量指向一个目录下的文件

定义Config.txt文件

内容为:

ROOM = "3308"
MYSQL_HOST = "172.20.10.3"

在pycharm中定义一个环境变量指向Config.txt

在Flask中使用这个环境变量

app = Flask(__name__)


# 配置信息

# app.config.from_object(Config)
# app.config.from_pyfile("settings.py")
app.config.from_envvar("test")
 

print(app.config.get("ROOM"))
print(app.config.get("MYSQL_HOST"))

你可能感兴趣的:(python)