Flask_安装和配置(一)

安装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。

访问静态资源

二、配置参数

2.1 启动配置参数

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

参数说明:

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

 2.2 配置参数的使用方式&自定义配置参数&读取配置参数

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()
原文地址:https://www.cnblogs.com/testlearn/p/14087139.html