0Pricing
Flask Academy · Aula

Escreva uma função create_app

Construa e configure o aplicativo dentro de uma fábrica.

Escreva uma função create_app é uma aula grátis de Flask Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Flask Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Flask Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Meet the Factory

An application factory is just a function named create_app that builds a fresh Flask app, configures it, and returns it. No globals required. 🏭

The Smallest Factory

At its core, create_app creates the app inside the function body and returns it. Everything you used to do at module level moves in here.

def create_app():
    app = Flask(__name__)
    return app

Local, Not Global

Notice the app now lives as a local variable. Each call produces a brand new instance, so nothing leaks between tests or environments.

Configure Inside

Set configuration on the local app before returning it. A common move is app.config.from_object to load a settings class.

def create_app():
    app = Flask(__name__)
    app.config.from_object("config.Dev")
    return app

Accept a Config Argument

Make the factory flexible by accepting a config parameter. Pass Dev, Test, or Prod settings depending on how the app is launched.

def create_app(config_class):
    app = Flask(__name__)
    app.config.from_object(config_class)
    return app

Register Routes Inside

Define or import your routes within create_app so they attach to this specific instance, not a shared global.

def create_app():
    app = Flask(__name__)
    @app.route("/")
    def home():
        return "Hi"
    return app

Where to Put It

Place create_app in your package init, like app/__init__.py. Importers then call the factory instead of grabbing a global.

How Flask Finds It

The dev server looks for a callable named create_app automatically. Setting FLASK_APP to your package is usually enough to launch.

FLASK_APP=app flask run

A WSGI Entry Point

For production servers you expose one instance by calling the factory once in a small wsgi.py module.

from app import create_app
app = create_app()

Testing Gets Easy

Tests just call create_app with test config and get an isolated app every time. No shared state, no surprises. ✅

app = create_app("config.Test")

Keep It Focused

Treat create_app as an assembly line: create, configure, wire up, return. Resist stuffing business logic directly inside it.

Quick Check

What does a create_app factory function return?

Recap

You wrote create_app: a function that builds, configures, and returns a fresh Flask app. It replaces the global and makes config and testing simple. 🎯

Perguntas Frequentes

A aula “Escreva uma função create_app” é grátis?

Sim — o texto completo de “Escreva uma função create_app” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Flask Academy, atualize para CoddyKit PRO. O curso de Flask Academy inclui 4 aulas no total.

O que vou aprender em “Escreva uma função create_app”?

Construa e configure o aplicativo dentro de uma fábrica. Você pratica Flask Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Flask Academy?

Nenhuma experiência prévia é necessária. Flask Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Escreva uma função create_app”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Flask Academy?

Sim. Cada aula de Flask Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Problemas com um objeto app global
  2. Escreva uma função create_app
  3. Inicialize extensões com init_app
  4. Registre Blueprints na fábrica
← Voltar para Flask Academy