[Python] Flask, app = Flask(__name__), @애플리케이션.route("/"), render_template(), if __name__ == '__main__':, .run()

공부한 내용 정리하는 공간입니다.

틀린 내용이 있을 수 있습니다.

모든 지적, 첨언 환영합니다.

오늘의 코드

1. 웹 애플리케이션 생성하기

2. HTML 템플릿 적용하기

3. 웹 애플리케이션 실행하기

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    return render_template('index.html')

@app.route("/hello")
def hello():
    return '<h1>Hello Page</h1>'

if __name__ == '__main__':
    app.run(debug=True)

 


Flask

파이썬으로 작성된 마이크로 웹 프레임워크

웹 애플리케이션을 간단하고 빠르게 개발할 수 있도록 돕는 도구

 


app = Flask(__name__)

현재 파이썬 파일에서 Flask 애플리케이션 객체 app 생성

Flask 웹 애플리케이션을 생성하는 코드

app으로 웹 애플리케이션의 설정, 라우팅, 요청/응답 처리 등을 관리

Flask는 __name__을 사용하여 애플리케이션의 실행 위치를 파악
__name__='__main__' : 해당 코드가 직접 실행되고 있음
__name__!='__main__' : 다른 파일에서 임포트되고 있음(임포트하는 파일의 이름이 됨)

 


@애플리케이션.route("/")

루트 URL 경로를 처리하는 데 사용되는 데코레이터

함수가 루트 URL에 대한 요청을 처리하도록 지정

"/" : 루트 URL, http://localhost:5000/로 접근할 때 이 함수가 실행

@app.route("/", methods=['GET', 'POST'] 형태로 처리할 수 있는 요청을 지정 가능

methods를 지정하지 않으면 기본적으로 GET 요청만 처리

GET : 사용자가 페이지에 접근할 때 기본적인 정보나 폼을 로드

POST : 사용자가 폼을 제출하면 그 데이터를 서버로 전송하고, 서버에서 해당 URL을 파싱하여 결과를 반환

 


render_template()

템플릿 파일을 렌더링하여 반환

기본적으로 templates 폴더에서 HTML 파일을 찾음
브라우저에는 해당 HTML 파일의 내용이 표시됨

 


if __name__ == '__main__'

현재 실행되는 파일이 메인 프로그램인지 확인

이 파일이 직접 실행될 때만 True 반환

 


애플리케이션.run()

애플리케이션을 실행하는 명령어

이 파일이 직접 실행될 때만 True 반환

 


리케이션.run(debug=True)

디버그 모드로 애플리케이션을 실행하는 명령어

코드 변경 시 서버가 자동으로 리로드
오류가 발생하면 더 자세한 오류 메시지가 웹 브라우저에 표시

 


오늘의 코드

1. 웹 애플리케이션 생성하기

2. HTML 템플릿 적용하기

3. 웹 애플리케이션 실행하기

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    return render_template('index.html')

@app.route("/hello")
def hello():
    return '<h1>Hello Page</h1>'

if __name__ == '__main__':
    app.run(debug=True)

오늘의 코드 결과

코드

오늘의 코드 설명

1. 웹 애플리케이션 생성하기

app = Flask(__name__)

현재 파이썬 파일에서 flask 애플리케이션 객체 app 생성

2. HTML 템플릿 적용하기

@app.route("/")

루트 URL에 대한 요청을 처리하는 데 사용하는 데코레이터

def index():
    return render_template('index.html')

템플릿 파일 'index.html'을 렌더링하여 반환하는 함수 index를 정의

브라우저에는 index.html의 내용 표시

@app.route("/hello")

/hello 경로에 대한 요청을 처리하는 데 사용하는 데코레이터

def hello():
    return '<h1>Hello Page</h1>'

문자열로 HTML을 직접 반환

브라우저에는 Hello Page가 h1 형태로 표시

3. 웹 애플리케이션 실행하기

if __name__ == '__main__':

현재 실행되는 파일이 메인 프로그램인지 확인

직접 실행될때만 True 반환

app.run(debug=True)

 

 

Flask 애플리케이션 디버그 모드로 실행