IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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.复习虚拟环境和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设置环境变量

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

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-27 11:48:56  更:2021-08-27 11:49:43 
 
开发: 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 11:34:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码