본문 바로가기
■ 칼퇴를 위한 파이썬 : 사례

파이썬으로 웹 애플리케이션 개발하기: Flask 시작하기

by 포탈메이커 2023. 7. 12.

파이썬으로 웹 애플리케이션 개발하기: Flask 시작하기

소개

웹 애플리케이션을 개발하는 것은 매우 흥미로운 일이다. 파이썬은 간결하고 읽기 쉬운 문법을 가지고 있어 웹 개발을 위한 이상적인 언어로 알려져 있다. 그리고 Flask는 파이썬에서 웹 애플리케이션을 개발하기 위한 가벼운 프레임워크로, Flask를 사용하면 빠르고 간편하게 웹 애플리케이션을 개발할 수 있다. 이번 포스팅에서는 Flask를 사용하여 웹 애플리케이션을 개발하는 방법을 알아보겠다.

Flask 설치하기

먼저 Flask를 설치해야 한다. Flask를 설치하기 위해서는 pip를 사용하면 된다. 아래 명령어를 실행하여 Flask를 설치할 수 있다.

$ pip install flask

Flask를 설치한 후에는 작업 폴더를 생성하고 해당 폴더로 이동한다.

$ mkdir flask-app $ cd flask-app

이제 Flask를 사용하여 웹 애플리케이션을 개발할 준비가 되었다.

Flask 앱 만들기

Flask 앱을 만들기 위해서는 간단한 파이썬 스크립트를 작성해야 한다. 아래 코드는 간단한 "Hello World" 앱을 만드는 예시이다.

```python from flask import Flask

app = Flask(name)

@app.route('/') def hello(): return 'Hello, World!'

if name == 'main': app.run() ```

위 코드를 app.py라는 이름으로 저장한다. 그리고 아래 명령어를 실행하여 Flask 앱을 실행한다.

$ python app.py

Flask 앱이 실행되면 웹 브라우저를 열고 http://localhost:5000 주소에 접속하면 "Hello, World!"라는 메시지가 화면에 출력된다.

라우팅 및 템플릿

Flask에서는 URL 경로를 지정하여 해당 URL에 접속했을 때 실행할 함수를 지정할 수 있다. 이를 라우팅(Routing)이라고 한다. 다음 예시는 /hello 경로에 접속했을 때 hello 함수를 실행하는 예시이다.

python @app.route('/hello') def hello(): return 'Hello, Flask!'

또한, Flask는 템플릿 엔진을 제공하여 동적으로 HTML을 생성할 수 있다. 템플릿을 사용하려면 templates 폴더를 생성하고 HTML 파일을 저장해야 한다. 다음은 hello.html로 템플릿 파일을 저장한 예시이다.

html <!DOCTYPE html> <html> <body> <h1>Hello, Flask!</h1> </body> </html>

템플릿 파일에서는 변수를 사용하여 동적으로 데이터를 표시할 수 있다. 아래 예시는 name이라는 변수를 템플릿에서 사용하는 예시이다.

python @app.route('/hello/<name>') def hello(name): return render_template('hello.html', name=name)

위 코드에서 render_template 함수는 템플릿 파일을 렌더링하여 HTML을 생성하고, name 변수를 템플릿에 전달한다. 이렇게 하면 /hello/World 경로에 접속했을 때 "Hello, World!"라는 메시지가 출력된다.

정적 파일 관리

Flask에서는 정적 파일(이미지, CSS, JavaScript 등)을 관리할 수 있다. 정적 파일을 사용하려면 static 폴더를 생성하고 파일을 저장해야 한다. 생성한 파일은 URL을 통해 접근이 가능하다.

python <img src="/static/image.jpg" alt="Image">

위 예시는 image.jpg 파일을 static 폴더에 저장하고, 해당 파일을 <img> 태그를 통해 출력하는 예시이다.

요약

이제 Flask를 사용하여 간단한 웹 애플리케이션을 개발하는 방법에 대해서 알아보았다. Flask는 빠르고 간편하게 웹 애플리케이션을 개발할 수 있는 파이썬 프레임워크이며, 다양한 기능과 확장성을 제공한다. Flask를 사용하여 더 다양하고 복잡한 웹 애플리케이션을 개발해보는 것을 추천한다. Happy coding!