๐ Front End Developer ์ Back End ๋์ ๊ธฐ ! ๐
์ด ๊ธ์ PROJECT LION : ํธ์ฝ์น ๊ฐ์ฌ๋์ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉฐ ์ฐธ๊ณ ํ ๊ธ์ ๋๋ค.
์์ ์ค, ๊ฐ๋ฐ๊ณผ์ ์ ๋ฆฌ ๋ฐ issue๊ฐ ๋์๋ ๋ถ๋ถ๋ค์ ๊ณต์ ๋ฐ ๊ธฐ๋กํ๊ณ ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค.
โ ์ํ๋ฑ๋ก ๋ฐฉ์๊ณผ ์ ์ฌํ๋ค. flask ์์ ์ฃผ์๋ก products/list(get) ์ ์ ํ ๋, products.html file์ ์ ๋ฌ์ํฌ ๊ฒ์ด๋ค.
- API ์์ฑ = product route ์ ์ฃผ์๋ /list(get ๋ฐฉ์์ default ์ด๋ฏ๋ก ํ๊ธฐ์ํจ) ๋ก ์ค์ ํ์๊ณ , ํจ์๋ช ์ get_products ๋ก ์ ์ํ์๋ค.
์ฆ, list ์ฃผ์๋ฅผ ์ ๋ ฅ ์ get_products ํจ์๊ฐ ํธ์ถ ๋๊ณ , ์ํ ๋ฆฌ์คํธ๋ฅผ ๋ก๊ฒจ์์ผ ํ๋ค.
๋ง๋ณด๋ค๋ ์ญ์ ์ค๋ช ์ด๋ฏ๋ก ๊ทธ๋ฆผ์ผ๋ก ํ๋ฌ๊ฐ๋ logic ์ ๊ตฌ์ํด ๋ณด๊ฒ ๋ค. ... ์ฌ์ค ๋๋ง ์์๋ณผ ๊ฑฐ ๊ฐ๊ธด ํ๋ค ^^;; ๐
๊ฐ๋จํ๊ฒ ๋ณด์๋ฉด, db > products > collection > document(์ํ๋ช , ๊ฐ๊ฒฉ, ์ด๋ฏธ์ง ๋ฑ๋ฑ...) ์ ๋ฝ์์์ list์ ๋ฟ๋ ค์ค๋ค๊ณ ์๊ฐํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.๐ Product collection ์์ ์๋ ๋ด์ฉ์ ์์ฑํ ๋๋, models > product file์์ ์์ฑํด ์ค๋ค.
- staticmethod ์์ฑ
= product collection ์์ ์๋ ๋ชจ๋ document ๋ค์ find() ๋ก ๊ฐ์ ธ์จ๋ค.
= ๊ทธ ํ, find ํจ์๋ฅผ ์์ฑ์์ผ์ค๋ค.
- ์ํ list ์ ๋ณด ์ถ๋ ฅ์ ์ํ html file ์์ฑ( templates > products.py)
= blueprint๋ก products ๋ฅผ mapping ํด ๋์์ผ๋ฏ๋ก, /products/list ์ฃผ์ ํธ์ถ ์ products.html file์ ๋ด์ฉ์ด ๋ณด์ฌ์ง๊ฒ ๋๋ค.
- product ์ ๋ณด ์ถ๋ ฅ
= product1 ๋ณ์์ products(DB ์ documents ๋ค์ ๋ด์ฉ์ ๋ด์ ๋ณ์) ๋ฅผ ๋ด์์ค๋ค.
= html file์์ products์ ์๋ ๋ฐฐ์ด ์์๋ค์ ๊ฐ์๋งํผ for๋ฌธ์ ๋๋ ค์ ํ๋ํ๋ ์ถ๋ ฅ์ ์์ผ์ค๋ค.
= document ์์ ํ๋ํ๋๊ฐ ์ถ๋ ฅ์ด ๋์๋ค.
๊ฒฐ๊ณผ๋ฌผ๊ณผ ๊ฐ์ด db์ ์ ์ฅ๋ list๋ค์ ์ถ๋ ฅ์์ผ์ฃผ์๋ค.
๋ค์์๊ฐ์๋ ์ค์ store์ฒ๋ผ ๋ณด์ด๋๋ก html ๊ตฌ์กฐ ๋ฐ css ์์ ์ ํตํ์ฌ list ์ฒ๋ผ ๋ณด์ด๊ฒ ๋ง๋ค์ด ๋ณด๊ฒ ๋ค!