Flask项目搭建配置项导入教程

 更新时间:2023年11月13日 11:01:40   作者:Hunter  
这篇文章主要为大家介绍了Flask项目搭建配置项导入教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

引言

这一篇开始介绍 Flask 系列笔记,这个系列笔记将和之前的 Django 笔记一样会从 Flask 的官方文档中提取一系列的知识点,整理成系列笔记。

这是 Flask 系列笔记的第一篇,本篇笔记介绍的是 Flask 项目的搭建以及配置项的导入,我们用到的 Python 的版本还是 3.8,用到的 Flask 的版本是 2.3.2。

pip3 install flask==2.3.2

接下来我们这里用 Pycharm 创建一个项目,我们命名为 flask_blog,在其下文件夹为 app,其下再创建一个 __init__.py 文件,当前的文件结构如下:

flask_blog
    └── app
        └── __init__.py

以下是我们本篇笔记目录:

  • 运行 Flask
  • Flask 获取配置
  • 区分开发环境和生产环境变量

1、运行 Flask

在 __init__.py 中,我们写入以下代码:

from flask import Flask
def create_app():
    app = Flask(__name__)
    @app.route("/")
    def hello():
        return "<h1>hello world</h1>"
    return app

然后在 flask_blog/ 文件夹下执行下面的命令,运行 Flask:

flask run

看到输出下面的输出就说明项目已经启动起来了:

...
* Running on http://127.0.0.1:5000/ 
Press CTRL+C to quit

然后访问服务器 5000 端口就可以看到返回内容了。

在这里我们使用 @app.route() 指定路由,然后直接 return 一个 html 文本,我们在浏览器访问的时候就会自动渲染。

指定端口

不指定的话,Flask 运行自动使用 5000 端口,如果要指定其他端口,使用 --port 参数指定。

flask run --port=9898

允许其他地址访问

如果希望其他服务器访问的话,加上 --host=0.0.0.0

debug模式

如果是在开发阶段,可以加上 --debug 参数,会自动检测系统代码变化然后重启系统。

2、Flask 获取配置

Flask 获取配置信息有几种方式,一种是从文件中获取,一种是从定义好的 dict 里获取。

从文件中获取配置

从文件里获取提供了几种方式:

app.config.from_object("app.config")
app.config.from_pyfile("./config.py")

我们在 app/ 文件夹下创建了一个 config.py 文件,其内容如下:

ABC = "123"

在执行完 from_object 或者 from_pyfile 操作之后,可以通过下面的操作获取到这些配置信息:

app.config.get("ABC")

从 dict 中获取配置

除了从文件中获取,我们还可以使用 from_mapping() 函数,将需要写入的配置放到 dict 里:

app.config.from_mapping({
    "ABC": "123"
})

注意:我们从文件中或者从 dict 中获取的变量名称都应该是大写的,否则系统不会读入。

3、区分开发环境和生产环境变量

在实际开发中,我们可能需要区分开发环境和生产环境,并且根据不同的环境读取不同的环境变量,就这个问题,这里提供一个方案

在 app/ 文件夹下,创建一个 config/ 文件夹,在 config/ 文件夹下创建三个文件:config.pyproduction.pydevelopment.py

config
    ├── config.py
    ├── development.py
    └── production.py

config.py 的内容如下:

import os
if os.getenv("FLASK_ENV") == "production":
    from .production import *
else:
    from .development import *

根据当前环境设置的 FLASK_ENV 是否为 production 来判断并选择加载对应的变量文件。

在 app/__init__.py 中还是正常加载 app.config.config 即可:

app.config.from_object("app.config.config")

以上就是Flask项目搭建配置项导入教程的详细内容,更多关于Flask项目搭建配置项导入的资料请关注脚本之家其它相关文章!

相关文章

  • Python测试Kafka集群(pykafka)实例

    Python测试Kafka集群(pykafka)实例

    今天小编就为大家分享一篇Python测试Kafka集群(pykafka)实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 使用python+Pyqt5实现串口调试助手

    使用python+Pyqt5实现串口调试助手

    这篇文章主要介绍了使用python+Pyqt5实现串口调试助手,串口通讯程序首先要对串口进行设置,如波特率、数据位、停止位、校验位等,需要的朋友可以参考下
    2022-04-04
  • pytorch中torch.max和Tensor.view函数用法详解

    pytorch中torch.max和Tensor.view函数用法详解

    今天小编就为大家分享一篇pytorch中torch.max和Tensor.view函数用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • python生成lmdb格式的文件实例

    python生成lmdb格式的文件实例

    今天小编就为大家分享一篇python生成lmdb格式的文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python tkinter实现简单计算器功能

    python tkinter实现简单计算器功能

    这篇文章主要为大家详细介绍了python tkinter实现简单计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Python3操作Excel文件(读写)的简单实例

    Python3操作Excel文件(读写)的简单实例

    这篇文章主要给大家介绍了关于Python3操作Excel文件(读写)的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python3具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • NumPy 与 Python 内置列表计算标准差区别详析

    NumPy 与 Python 内置列表计算标准差区别详析

    这篇文章主要介绍了NumPy与Python内置列表计算标准差区别详析,NumPy,是Numerical Python的简称,用于高性能科学计算和数据分析的基础包,更多相关内容需要的朋友可以参考一下
    2022-07-07
  • pytorch固定BN层参数的操作

    pytorch固定BN层参数的操作

    这篇文章主要介绍了pytorch固定BN层参数的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

    解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)

    这篇文章主要介绍了解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • 如何解决Python中tqdm和zip一起用进度条不显示问题

    如何解决Python中tqdm和zip一起用进度条不显示问题

    这篇文章主要介绍了如何解决Python中tqdm和zip一起用进度条不显示问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论