目录

一、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文件 写入如下内容:

python 创建flask项目 flask框架创建_python 创建flask项目

 在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()