В целом, относительно структуры проекта, базовая c структура приложения FastAPI такая же, как Flask, см. здесь :
Это время начать кодирование! Создайте каталог flaskr и добавьте файл __init__.py
. __init__.py
выполняет двойную функцию: он содержит фабрику приложений и сообщает Python, что каталог flaskr следует рассматривать как пакет
FastAPI (а также Flask и другие функции -style Framework) определяет доступ к базе данных в терминах функций, использующих сеансы, см. здесь .
Ниже на этой странице документации:
# Dependency
def get_db():
try:
db = SessionLocal()
yield db
finally:
db.close()
@app.post("/users/", response_model=schemas.User)
def create_user(user: schemas.UserCreate, db: Session = Depends(get_db)): # <<< injected here
db_user = crud.get_user_by_email(db, email=user.email)
if db_user:
raise HTTPException(status_code=400, detail="Email already registered")
return crud.create_user(db=db, user=user)