사용자 도구

사이트 도구


wiki:it:dream_of_enc:backend:app

문서의 이전 판입니다!


app.py: Flask API 서버의 중심

`app.py`는 Dream of E&C 백엔드의 심장과 같은 파일로, Flask 애플리케이션을 생성하고 모든 구성 요소를 연결하는 역할을 수행합니다.

주요 기능

1. Flask 앱 초기화: `Flask(name)`을 통해 웹 애플리케이션 인스턴스를 생성합니다. 2. 데이터베이스 설정: SQLAlchemy ORM을 사용하여 SQLite 데이터베이스(`site.db`)를 연동하고, 모델과 앱을 연결합니다. 3. CORS 정책 설정: `flask_cors`를 사용하여 지정된 프론트엔드 도메인(`dreamofenc.com`, `syjang0803.github.io`)에서의 API 요청만 허용하도록 보안 정책을 설정합니다. 4. 블루프린트 등록: `views` 디렉터리에 정의된 각 API 모듈(블로그, 게임, HR)을 `app.register_blueprint()`를 통해 메인 애플리케이션에 등록하여 기능을 확장합니다. 5. 루트 엔드포인트: 서버의 루트 주소(`/`)로 접속 시, API 서버의 상태와 사용 가능한 엔드포인트 목록을 JSON 형식으로 반환합니다.

코드 구조

# ... (라이브러리 임포트) ...

# 데이터베이스 객체 생성
db = SQLAlchemy()

# 블루프린트 임포트
from views.game_api import game_bp
from views.hr_api import hr_bp
from views.blog_api import blog_bp

# Flask 앱 생성 및 설정
app = Flask(__name__, ...)
app.config['SQLALCHEMY_DATABASE_URI'] = '...'
db.init_app(app)

# CORS 설정
CORS(app, resources={...})

# 모델 임포트
from models import Post, Comment, ...

# 블루프린트 등록
app.register_blueprint(game_bp)
app.register_blueprint(hr_bp)
app.register_blueprint(blog_bp)

# 루트 경로 핸들러
@app.route('/')
def api_root():
    # ... (서버 정보 반환) ...

# 개발 서버 실행
if __name__ == '__main__':
    app.run(...)

이 파일을 통해 전체 API 서버가 어떻게 구성되고 시작되는지 파악할 수 있습니다. 각 기능별 세부 구현은 등록된 블루프린트 파일(예: `views/blog_api.py`)에서 확인할 수 있습니다.

wiki/it/dream_of_enc/backend/app.1751600869.txt.gz · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki