Flask Academy · 课时

各环境的配置类

定义开发、测试和生产环境设置

第 1 / 4 课13 个步骤

各环境的配置类 是 CoddyKit 上的免费 Flask Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Flask Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Flask Academy 课程共包含 4 节课。

本课时的部分内容尚未翻译,以英文显示。

One App, Many Worlds

Your app runs in different environments: your laptop, a test runner, and a live server. Each one needs its own settings.

What a Config Class Is

A config class is just a Python class whose attributes become Flask settings. Group related options together and read them in once.

class Config:
    DEBUG = False
    TESTING = False

A Shared Base Class

Put values that every environment shares into a base Config class. Other environments will inherit from it and tweak what differs.

class Config:
    SECRET_KEY = "changeme"
    JSON_SORT_KEYS = False

Subclass for Development

A DevelopmentConfig subclass flips on debugging so you see tracebacks and the auto reloader while you build.

class DevelopmentConfig(Config):
    DEBUG = True

Subclass for Testing

A TestingConfig turns on TESTING so errors propagate to your test runner instead of being swallowed.

class TestingConfig(Config):
    TESTING = True

Subclass for Production

A ProductionConfig keeps DEBUG off and points at the real database. Safety first when users are watching.

class ProductionConfig(Config):
    DEBUG = False

Load It with from_object

Tell Flask which class to use with from_object. One line swaps your whole settings profile.

app.config.from_object(DevelopmentConfig)

Read a Setting Back

Every attribute lands in app.config, a dict-like store. Read any value by its key whenever you need it.

value = app.config["DEBUG"]

Map Names to Classes

A small config dict maps a short name to a class, so you can pick an environment by a single string.

config = {"dev": DevelopmentConfig, "prod": ProductionConfig}

Choose by Name

Pick the active profile by name, often from an env var. The same code runs everywhere with no edits.

app.config.from_object(config[env_name])

Never Hardcode Per Env

Avoid scattering if-checks across your code. Centralizing in config classes keeps environment logic in one place.

Quick Check

Where should settings shared by every environment live?

Recap: Config Classes

You built a base Config with per-environment subclasses, loaded one via from_object, and selected it by name. Clean and swappable! 🎯

免费开始

用 AI 导师学习 Python — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
30
课程
120

常见问题解答

「各环境的配置类」课时是免费的吗?

是的 — 「各环境的配置类」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Flask Academy 课程的其余内容,请升级到 CoddyKit PRO。 Flask Academy 课程共包含 4 节课。

「各环境的配置类」这节课中我会学到什么?

定义开发、测试和生产环境设置 你通过在浏览器中直接运行的动手代码来练习 Flask Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Flask Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Flask Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「各环境的配置类」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Flask Academy 课中编写并运行代码吗?

能。每节 Flask Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 各环境的配置类
  2. 从环境变量加载机密信息
  3. 在开发环境中使用 dotenv
  4. 切换调试与功能标志
← 返回 Flask Academy