Flask笔记一之项目搭建、配置项导入

2023-11-21 05:04

本文主要是介绍Flask笔记一之项目搭建、配置项导入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文首发于公众号: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

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

  1. 运行 Flask
  2. Flask 获取配置
  3. 区分开发环境和生产环境变量

1、运行 Flask

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

from flask import Flaskdef 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 osif 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笔记一之项目搭建、配置项导入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/399995

相关文章

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

CentOS7更改默认SSH端口与配置指南

《CentOS7更改默认SSH端口与配置指南》SSH是Linux服务器远程管理的核心工具,其默认监听端口为22,由于端口22众所周知,这也使得服务器容易受到自动化扫描和暴力破解攻击,本文将系统性地介绍... 目录引言为什么要更改 SSH 默认端口?步骤详解:如何更改 Centos 7 的 SSH 默认端口1

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据