728x90
๋ฐ์ํ
โป SK ์ด๋์ค ๋ฃจํค์ฆ 24๊ธฐ (ํด๋ผ์ฐ๋๊ธฐ๋ฐ ์ค๋งํธ ์ตํฉ๋ณด์ ๊ณผ์ ) ๊ต์ก์ ๋ค์ผ๋ฉด์ ์์ฑํ ๋ด์ฉ์ ๋๋ค.
Flask๋ ํ์ด์ฌ์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฐ๋จํ๊ณ ๊ฐ๋ฒผ์ด ๋ง์ดํฌ๋ก ์น ํ๋ ์์ํฌ์
์ด๋ณด์๋ ์ฝ๊ฒ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์์ด ๋น ๋ฅด๊ฒ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๊ธฐ์ ์ ํฉํจ
1๏ธโฃ Flask๋?
Flask๋ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง:
- ๊ฒฝ๋ ํ๋ ์์ํฌ: ๋ถํ์ํ ์์ ์์ด ํต์ฌ ๊ธฐ๋ฅ๋ง ์ ๊ณต
- ํ์ฅ์ฑ: ํ์ํ ๊ฒฝ์ฐ ํ๋ฌ๊ทธ์ธ์ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ์ฌ ๊ธฐ๋ฅ ํ์ฅ ๊ฐ๋ฅ
- ์ง๊ด์ ์ธ ์ฌ์ฉ๋ฒ: ๊ฐ๋จํ API์ ๊ตฌ์กฐ๋ก ์ด๋ณด์๋ ์ฝ๊ฒ ์ ๊ทผ ๊ฐ๋ฅ
2๏ธโฃ Flask ์ค์นํ๊ธฐ
Flask๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋จผ์ Python์ด ์ค์น๋์ด ์์ด์ผ ํจ
pip install flask
3๏ธโฃ Hello, Flask! ์ฒซ ๋ฒ์งธ ์ ํ๋ฆฌ์ผ์ด์
๐ฅ๏ธ ์ฝ๋ ์์ฑ
๋ค์์ Flask๋ก ๊ฐ๋จํ ์น ์๋ฒ๋ฅผ ๋ง๋๋ ์ฝ๋์
from flask import Flask
app = Flask(__name__) # Flask ์ฑ ์์ฑ
@app.route("/") # ๊ธฐ๋ณธ ๊ฒฝ๋ก('/')์ ๋ํ ์์ฒญ ์ฒ๋ฆฌ
def home():
return "Hello, Flask! ๐"
if __name__ == "__main__":
app.run(debug=True) # ์ ํ๋ฆฌ์ผ์ด์
์คํ
๐ ์น ํ์ด์ง ์ ์
4๏ธโฃ Flask์ ์ฃผ์ ๊ตฌ์ฑ ์์
๐น 1. ๋ผ์ฐํ (Routing)
๋ผ์ฐํ ์ URL๊ณผ ์คํํ ํจ์๋ฅผ ์ฐ๊ฒฐํ๋ ์ญํ ์ ํจ
@app.route("/second")
def hello():
return '<h1>This is Second page!</h1>'
- /second ๊ฒฝ๋ก์ ์ ์ํ๋ฉด This is Second page!๋ผ๋ ๋ฉ์์ง๊ฐ ์ถ๋ ฅ๋จ.
๐น 2. ํ ํ๋ฆฟ (Templates)
Flask๋ HTML ํ ํ๋ฆฟ ํ์ผ๊ณผ ๋ฐ์ดํฐ๋ฅผ ํจ๊ป ์ฌ์ฉํ ์ ์์.
- ํ
ํ๋ฆฟ ํ์ผ ์์ฑ:
/templates/home.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome, {{ name }}!</h1>
</body>
</html>
- Flask์์ ํ ํ๋ฆฟ ๋ ๋๋ง:
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def home():
return render_template("home.html", name="HEE")
- ์ ์ํ๋ฉด html ํ ํ๋ฆฟ์ ์์ฑํ๋ ์์์ผ๋ก ์ถ๋ ฅ๋จ
๐น 3. HTTP ๋ฉ์๋ ์ฒ๋ฆฌ
Flask๋ GET, POST ๋ฑ์ HTTP ๋ฉ์๋๋ฅผ ์ฒ๋ฆฌ ๊ฐ๋ฅ
from flask import request
@app.route("/submit", methods=["GET", "POST"])
def submit():
if request.method == "POST":
return "Form submitted!"
return "Submit your form here!"
- GET ์์ฒญ
- POST ์์ฒญ
728x90
๋ฐ์ํ
'๐งฉ Language > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] Faker๋ฅผ ์ด์ฉํ ๊ฐ์ง ๋ฐ์ดํฐ ์์ฑํ๋ ๋ฐฉ๋ฒ (1) | 2025.01.17 |
---|---|
[Python] Flask๋ก ๊ฐ๋จํ RSS ๋ฆฌ๋ ํ์ด์ง ๊ตฌํํ๊ธฐ (2) | 2025.01.16 |
[Python] FTP ํ๋กํ ์ฝ ์ฐ๊ฒฐ ๋ฐ ์๋ํ (0) | 2025.01.16 |
ํ์ด์ฌ ์์ ๋ฌธ์ ์๋ํ (0) | 2025.01.16 |
Python ์น ์คํฌ๋ํ (2) Requests ๋ผ์ด๋ธ๋ฌ๋ฆฌ (0) | 2025.01.16 |