Flask工程搭建

环境安装

1.复习虚拟环境和pip的命令

	mkvirtualenv  # 创建虚拟环境
	rmvirtualenv  # 删除虚拟环境
	workon  # 进入虚拟环境、查看所有虚拟环境
	deactivate  # 退出虚拟环境
	pip install  # 安装依赖包
	pip uninstall  # 卸载依赖包
	pip list  # 查看已安装的依赖包
	pip freeze  # 冻结当前环境的依赖包

2.创建虚拟环境

	mkvirtualenv flask -p python3
	注意需要联网

3.安装Flask

	使用flask 1.0.2版本,注意需要联网
	
	pip install flask

编写第一个Flask HelloWorld!

# 导入Flask类
from flask import Flask

#Flask类接收一个参数__name__
app = Flask(__name__)

# 装饰器的作用是将路由映射到视图函数index
@app.route('/')
def index():
    return 'Hello World'

# Flask应用程序实例的run方法启动WEB服务器
if __name__ == '__main__':
    app.run()

启动可以手动也可以pycharm
手动运行

python helloworld.py
pycharm 运行
像正常运行普通python程序一样即可。

参数说明:

import_name
Flask程序所在的包(模块),传 __name__ 就可以
其可以决定 Flask 在访问静态文件时查找的路径

static_url_path
静态文件访问路径,可以不传,默认为:/ + static_folder

static_folder
静态文件存储的文件夹,可以不传,默认为 static

template_folder
模板文件存储的文件夹,可以不传,默认为 templates

默认参数情况下 app = Flask(name)

Flask配置信息读取写入分为三种方法:

作用

集中管理项目的所有配置信息

使用方式

Django将所有配置信息都放到了settings.py文件中,而Flask则不同。

Flask将配置信息保存到了app.config属性中,该属性可以按照字典类型进行操作。

读取

app.config.get(name)
app.config[name]

设置

主要使用以下三种方式:

从配置对象中加载

app.config.from_object(配置对象)

class DefaultConfig(object):
    """默认配置"""
    SECRET_KEY = 'TPmi4aLWRbyVq8zu9v82dWYW1'

app = Flask(__name__)

app.config.from_object(DefaultConfig)

@app.route("/")
def index():
    print(app.config['SECRET_KEY'])
    return "hello world"
应用场景:

作为默认配置写在程序代码中

可以继承

class DevelopmentConfig(DefaultConfig):
    DEBUG=True

从配置文件中加载

app.config.from_pyfile(配置文件)

新建一个配置文件setting.py

SECRET_KEY = 'TPmi4aLWRbyVq8zu9v82dWYW1'
在Flask程序文件中

app = Flask(__name__)

app.config.from_pyfile('setting.py')

@app.route("/")
def index():
    print(app.config['SECRET_KEY'])
    return "hello world"
应用场景:

在项目中使用固定的配置文件

从环境变量中加载

环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。

通俗的理解,环境变量就是我们设置在操作系统中,由操作系统代为保存的变量值

在Linux系统中设置和读取环境变量的方式如下:

export 变量名=变量值  # 设置
echo $变量名  # 读取

例如
export ITCAST=python
echo $ITCAST

Flask使用环境变量加载配置的本质是通过环境变量值找到配置文件,再读取配置文件的信息,其使用方式为

app.config.from_envvar('环境变量名')

环境变量的值为配置文件的绝对路径

先在终端中执行如下命令

export PROJECT_SETTING='~/setting.py'
再运行如下代码

app = Flask(__name__)

app.config.from_envvar('PROJECT_SETTING', silent=True)

@app.route("/")
def index():
    print(app.config['SECRET_KEY'])
    return "hello world"
关于silent的说明:

表示系统环境变量中没有设置相应值时是否抛出异常

False 表示不安静的处理,没有值时报错通知,默认为False
True 表示安静的处理,即时没有值也让Flask正常的运行下去

4.开发服务器启动方式

在1.0版本之后,Flask调整了开发服务器的启动方式,由代码编写app.run()语句调整为命令flask run启动。

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return 'Hello World'

# 程序中不用再写app.run()

1 终端启动

$ export FLASK_APP=helloworld
$ flask run
 * Running on http://127.0.0.1:5000/

说明

- 环境变量 FLASK_APP 指明flask的启动实例
- flask run -h 0.0.0.0 -p 8000 绑定地址 端口
- flask run --help获取帮助
- 生产模式与开发模式的控制
  通过FLASK_ENV环境变量指明
  - export FLASK_ENV=production 运行在生产模式,未指明则默认为此方式
  - export FLASK_ENV=development运行在开发模式

拓展

$ export FLASK_APP=helloworld
$ python -m flask run
 * Running on http://127.0.0.1:5000/

补充:

从配置对象中加载:

优点:可以继承,复用
缺点:敏感数据暴漏在在吗中

从配置文件中加载

优点=》独立的文件

缺点=》不能继承,文件路径不灵活

从环境变量读取

优点=》独立文件  保护敏感数据  文件路径不固定 灵活

缺点=》不方便 记得设置环境变量

新版Pycharm设置环境变量

在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值