Pisanie funkcji create_app
Twórz i konfiguruj aplikację wewnątrz fabryki.
Pisanie funkcji create_app to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Flask Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Flask Academy zawiera 4 lekcji w sumie.
Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.
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 appLocal, 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 appAccept 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 appRegister 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 appWhere 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 runA 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. 🎯
Często zadawane pytania
Czy lekcja „Pisanie funkcji create_app” jest bezpłatna?
Tak — pełny tekst „Pisanie funkcji create_app” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Flask Academy, przejdź na CoddyKit PRO. Kurs Flask Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Pisanie funkcji create_app”?
Twórz i konfiguruj aplikację wewnątrz fabryki. Ćwiczysz Flask Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Flask Academy?
Nie wymagamy żadnego doświadczenia. Flask Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Pisanie funkcji create_app”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Flask Academy?
Tak. Każda lekcja Flask Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Problemy z globalnym obiektem app
- Pisanie funkcji create_app
- Inicjalizacja rozszerzeń za pomocą init_app
- Rejestrowanie Blueprintów w fabryce