Flask_安装和配置(一)
阅读原文时间:2023年07月08日阅读:2

安装Flask

pip install flask

一 .创建Flask项目

Flask与Django相比,没有提供任何自动创建项目的操作,所以需要手动创建项目及启动项目的管理文件

例如,创建项目目录demo,在目录中创建hello.py并启动该项目。

from flask import Flask

创建flask的应用对象

app = Flask(__name__,
static_url_path="/python",
static_folder="static2",
template_folder="demo",
)

定义路由

@app.route("/")

定义视图

def index():
return "hello flask"

if __name__ == '__main__':
# 启动项目
app.run()

访问视图函数

  • import_name:不可缺省。定义flask框架的跟目录。参数 __name__ 表示以当前模块所在目录为flask的根目录。若要指定其他目录为根目录传对应目录名即可。若指定的目录不存在,则默认以启动目录为根目录。
  • static_url_path:可缺省。访问静态资源的url前缀。若缺省,默认访问路径为static。
  • static_folder:可缺省。存放静态资源的目录名称。若缺省,默认目录名称为static。
  • template_folder:可缺省。存放模板文件的目录名称。若缺省,默认目录名称为templates。

访问静态资源

二、配置参数

if __name__ == '__main__':
# 启动项目
app.run(host="192.168.3.110", port=9898, debug=True)

参数说明:

  • host:启动绑定的IP
  • port:启动绑定的端口
  • debug:是否开启debug模式,默认不开启。

1、读取配置文件使用配置参数

app.config.from_pyfile("config.cfg")

2、直接操作config的字典对象使用配置参数

app.config["DEBUG"] = True
app.config["LANGUAGE"] = "Java"

3、定义Config类对象使用配置参数

class Config(object):
DEBUG = True
# 自定义配置信息。自定义的配置信息需大写,否则配置无效。
LANGUAGE = "python"

app.config.from_object(Config)

上面3种配置方式中的LANGUAGE 为自定义配置参数,自定义的配置参数必须大写,否则无效。

不管是默认的还是自定义的配置参数均保存在 config 这个字典中,所以使用字典的取值方法均能读取配置参数。读取配置的方法有两种:

  • 从全局对象app的config字典中取值
  • 从current_app的config字典中取值

from flask import Flask, current_app

@app.route("/")
def index():
print(app.config)
# 读取配置参数
# 1、从全局对象app的config字典中取值
# language = app.config.get("LANGUAGE")
# 2、从current_app的config字典中取值
language = current_app.config.get("LANGUAGE")
return F"hello {language}"

from flask import Flask, current_app

创建flask的应用对象

app = Flask(__name__,
static_url_path="/python",
static_folder="static2",
template_folder="demo",
)
"""
import_name:不可缺省。定义flask框架的跟目录。参数 __name__ 表示以当前模块所在目录为flask的根目录。若要指定其他目录为根目录传对应目录名即可。若指定的目录不存在,则默认以启动目录为根目录。
static_url_path:可缺省。访问静态资源的url前缀。若缺省,默认访问路径为static。
static_folder:可缺省。存放静态资源的目录名称。若缺省,默认目录名称为static。
template_folder:可缺省。存放模板文件的目录名称。若缺省,默认目录名称为templates。
"""

配置参数的使用

1、读取配置文件使用配置参数

app.config.from_pyfile("config.cfg")

2、直接操作config的字典对象使用配置参数

app.config["DEBUG"] = True

app.config["LANGUAGE"] = "Java"

3、定义Config类对象使用配置参数

class Config(object):
DEBUG = True
# 自定义配置信息。自定义的配置信息需大写,否则配置无效。
LANGUAGE = "python"

app.config.from_object(Config)

@app.route("/")
def index():
print(app.config)
# 读取配置参数
# 1、从全局对象app的config字典中取值
# language = app.config.get("LANGUAGE")
# 2、从current_app的config字典中取值
language = current_app.config.get("LANGUAGE")
return F"hello {language}"

if __name__ == '__main__':
# 启动项目
# app.run(host="192.168.3.110", port=9898, debug=True)
app.run()