Flask框架从入门到精通之参数配置(二)

知识点: 1、参数配置

一、概况

上一篇我们已经把Flask第一个程序运行起来了,那么这一篇主要讲一下Flask参数的配置。

二、配置参数

Flask参数配置方式有很多种,每一种都可以达到结果,在合适的场景选择合适的配置方式。

  • 配置文件 在文件加中新建一个config.cfg配置文件,在配置文件上写上下面语句,表示开启调试模式。这样当我们程序出错的时候,就能知道错误在多少行,方便我们快速定位错误。
DEBUG = True
复制代码

在程序中加载配置文件

from flask import Flask

'''
__name__:表示当前的模块名字
创建Flask对象,Flask会以传入模块的位置当做家目录
'''
app = Flask(__name__)


@app.route('/')  # 代表首页
def hello_world():  # 视图函数
    print(1/0)
    return 'Hello World!'  # 返回内容


# 配置文件
app.config.from_pyfile('config.cfg')

if __name__ == '__main__':
    app.run()  # 运行程序
复制代码

我们可以看出,这个程序是有错的,因为1/0在生活中,0是不能当做除数,所以会出现异常。当我们在浏览器访问的时候,可以看到

  • 类方式配置
#类方式配置
class Config(object):
    DEBUG = True


app.config.from_object(Config)

复制代码
  • 直接操作配置 直接操作适用于配置参数较少的场景,config本质其实就一个字典。
#直接操作
app.config["DEBUG"] = True
复制代码
  • 对象上配置
app.debug = True
复制代码
  • 参数传入配置(只限debug参数)
app.run(debug=True)  # 运行程序
复制代码

三、取配置参数

有很多情况,我们会有需求,想在视图函数中,把配置参数取到并使用。这里面提供了两种拿到的办法:

from flask import Flask, current_app

'''
__name__:表示当前的模块名字
创建Flask对象,Flask会以传入模块的位置当做家目录
'''
app = Flask(__name__)


@app.route('/')  # 代表首页
def hello_world():  # 视图函数
    # 如果能拿到app对象,就可以通过app取自定义的配置参数
    print(app.config.get('TEST'))
    # 如果拿不到,可以通过current_app这个app的代理人拿到
    print(current_app.config.get('TEST'))
    return 'Hello World!'  # 返回内容


# 直接操作
app.config["DEBUG"] = True
app.config["TEST"] = 'test'

if __name__ == '__main__':
    app.run()  # 运行程序

复制代码

支持外部访问

我们修改调用 run() 的方法使我们的服务器公开可用,如下:

 # 0.0.0.0代表任何能代表这台机器的地址都可以访问
 app.run(host='0.0.0.0', port=5000)  # 运行程序
复制代码

这个时候我们可以通过http://127.0.0.1:5000/可以访问我们的网站,也可以通过自己的本机ip去访问http://192.168.1.101:5000/。可以通过ifconfig命令查看自己的本机IP。

欢迎关注我的公众号:

转载于:https://juejin.im/post/5cb98975f265da03ae74bead

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值