๐Ÿ‘ฉ‍๐Ÿ’ป Learn programming

[๋‚˜๋งŒ์˜ ๋‹จ์–ด์žฅ] 2. Flask๋กœ ๋ฉ€ํ‹ฐ ํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

๋””์ž์ธ ๋ฝ€์†ก์ด 2022. 5. 4. 12:52
๋ฐ˜์‘ํ˜•

1. Flask

  • ์„œ๋ฒ„๋ฅผ ๊ตฌ๋™์‹œ์ผœ์ฃผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ
  • ์ฆ‰, ์„œ๋ฒ„๋ฅผ ๊ตฌ๋™ํ•  ๋•Œ ํ•„์š”ํ•œ ๋ณต์žกํ•œ ์ผ๋“ค์„ ์‰ฝ๊ฒŒ ๊ฐ€์ ธ๋‹ค ์“ธ ์ˆ˜ ์žˆ๋‹ค.

2. ํŒจํ‚ค์ง€ ์„ค์น˜

  • Project Interpreter ๊ฐ€์ƒํ™˜๊ฒฝ์— ํ•„์š”ํ•œ ํŒจํ‚ค์ง€ : flask, requests, pymongo

 

3. ๊ธฐ๋ณธ ํด๋” ๊ตฌ์„ฑ

  • static ํด๋” : ์ด๋ฏธ์ง€, cssํŒŒ์ผ
  • templates : html ํŒŒ์ผ
  • app.py ํŒŒ์ผ : flask๋ฅผ ์ž‘์„ฑํ•˜๋Š” ํŒŒ์ด์ฌ ์ฝ”๋“œ

 

4. Flask ์‹œ์ž‘์ฝ”๋“œ  (app.py) (ํ…œํ”Œ๋ฆฟ์œผ๋กœ ์™ธ์šธ ํ•„์š” X)

from flask import Flask, render_template

app = Flask(__name__)

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

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

if __name__ == '__main__':
    app.run('0.0.0.0', port=5000, debug=True)

 

โœ… @app.route(url)

  • url์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ
  • url ๋ณ„๋กœ ํ•จ์ˆ˜๋ช…์ด ๊ฐ™๊ฑฐ๋‚˜ route()๋‚ด์˜ ์ฃผ์†Œ๊ฐ€ ๊ฐ™์œผ๋ฉด ์•ˆ๋จ!

โœ… render_template()

  • templates ํด๋”์— ์žˆ๋Š” html ํŒŒ์ผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ํ•จ์ˆ˜.

โœ… ๋‚ด๊ฐ€ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ localhost:5000์œผ๋กœ ์„œ๋ฒ„๋ฅผ ๋Œ๋ฆฌ๊ณ  ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•