๐Ÿฆ Python Online Store ๋งŒ๋“ค๊ธฐ 12ํŽธ - ์ƒํ’ˆ ์ƒ์„ธํŽ˜์ด์ง€

yohan-record[web]ยท2022๋…„ 8์›” 4์ผ
0

python onlinestore ๊ฐœ๋ฐœ์ผ์ง€

๋ชฉ๋ก ๋ณด๊ธฐ
12/25
post-thumbnail

๐ŸŽˆ Front End Developer ์˜ Back End ๋„์ „๊ธฐ ! ๐ŸŽˆ

์ด ๊ธ€์€ PROJECT LION : ํ˜ธ์ฝ”์น˜ ๊ฐ•์‚ฌ๋‹˜์˜ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ์ฐธ๊ณ ํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

์ž‘์—… ์ค‘, ๊ฐœ๋ฐœ๊ณผ์ • ์ •๋ฆฌ ๋ฐ issue๊ฐ€ ๋˜์—ˆ๋˜ ๋ถ€๋ถ„๋“ค์„ ๊ณต์œ  ๋ฐ ๊ธฐ๋กํ•˜๊ณ ์ž ์ž‘์„ฑํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

1. ์ƒํ’ˆ ์ƒ์„ธ

โœ ์ƒํ’ˆ ์ƒ์„ธํŽ˜์ด์ง€๋Š” ์ˆ˜์ •๊ณผ ๋งŽ์ด ๋‹ค๋ฅด์ง€ ์•Š๋‹ค.
์ƒํ’ˆ ์ •๋ณด ์ˆ˜์ •ํŽ˜์ด์ง€๋Š” ํŠน์ •์ƒํ’ˆ์˜ ๊ณ ์œ ๋ฒˆํ˜ธ(id) ๋ฅผ ์ฃผ์†Œ๋กœ ๋ฐ›์•„์„œ MongoDB์—์„œ ํ•ด๋‹นํ•˜๋Š” document ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€์„œ product.html ๊ณผ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ํ•ด ์ฃผ์—ˆ๋‹ค.

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์ƒํ’ˆ์ •๋ณด๋ฅผ html ์— ๋„˜๊ฒจ์„œ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. (ํŒ๋‹จ์ด ๋งž๊ธธ ๐Ÿ˜…)

  1. ์ƒํ’ˆ ์ƒ์„ธ ์ •๋ณด ํŽ˜์ด์ง€ API ์ƒ์„ฑ
    = find_one method๋ฅผ ํ†ตํ•˜์—ฌ product_id๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.

๐Ÿ“ id๊ฐ€ ๋“ค์–ด๊ฐ€๋ฉด _id๊ฐ€ ๊ฐ™์€ document ๋ฅผ ๊ฐ€์ ธ์™€์„œ return ํ•ด์ฃผ๊ณ (/modles/product.py)


์ •๋ณด๊ฐ€ ๋ถˆ๋Ÿฌ์™€ ์ง€๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ ํ›„ return template์— product.html file์„ ์ƒ์„ฑํ•œ๋‹ค.


  1. html file ๊ตฌ์กฐ ๋ณ€๊ฒฝ ๋ฐ style ์ž‘์—…(bootstrap)
    = ํ•ด๋‹น bootstrap ๋‚ด์šฉ์€ ์•ž์ „์—๋„ ๋‹ค๋ค˜์œผ๋ฏ€๋กœ ๋”ฐ๋กœ ์ •๋ฆฌํ•ด์„œ ์˜ฌ๋ฆฌ์ง€ ์•Š๊ฒ ๋‹ค.
    ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด bootstrap์˜ card demo๋ฅผ ๊ฐ€์ง€๊ณ  ๋ถ™์—ฌ๋„ฃ์€ ๋’ค, data ๊ฐ’๋งŒ db์—์„œ ๋•ก๊ฒจ์™€ ์ฃผ๋ฉด ๋์ด๋‹ค. ๐Ÿ˜Ž

    ๐Ÿ”– list page ์—์„œ๋„ view ํŽ˜์ด์ง€๋กœ ๋งํฌ ์ด๋™์ด ๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ, href ๊ฐ’์„ href="/products/{{product['_id']}}/detail" detail ๋กœ ์ด๋™๋˜๋„๋ก ์„ค์ •ํ•œ๋‹ค.

๋“œ๋””์–ด CRUD๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ƒํ’ˆ ํŽ˜์ด์ง€๊ฐ€ ๋์ด ๋‚ฌ๋‹ค!

๋ฐ˜ํ‹ˆ์ •๋„ ๊ฐ–์ถฐ์ง„ ์ƒํƒœ์ธ๋ฐ,
ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ๋„ ์ž‘๋™์ด ๋˜์–ด์•ผํ•˜๊ณ ,
๊ถŒํ•œ์— ๋งž๊ฒŒ ๊ด€๋ฆฌ์ž๋งŒ ์ƒํ’ˆ์„ ์‚ญ์ œ, ์ˆ˜์ • ๋ฐ ๋“ฑ๋ก์„ ํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•˜๋ฉฐ,
PG์‚ฌ ๊ฒฐ์ œ๋„ ์ถ”๊ฐ€ํ•˜์—ฌ์•ผ ํ•˜๊ณ ,
์‚ฌ์ดํŠธ ๋ฐฐํฌ๋„ ๋‚จ์•„์žˆ๋‹ค. ๐Ÿ˜Ž๐Ÿ˜Ž

ํ‰์†Œ์— ํ•ด๋ณด๊ณ ์‹ถ์—ˆ๋˜ ์ž‘์—…๋ฌผ์ธ๋ฐ, ๊ฐœ๊ฐ• ์ „์— ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด ํ–‰๋ณตํ•˜๋‹ค ๐ŸŽ‰
(ํšŒ์‚ฌ์—์„œ๋„ ์ฝ”๋”ฉํ•˜๊ณ  ํ‡ด๊ทผํ•˜๊ณ ๋„ ์ฝ”๋”ฉํ•˜๋ ค๋‹ˆ ์†์ด ์•ˆ์ข‹๊ธด ํ•˜์ง€๋งŒ ์žฌ๋ฏธ๋Š” ์žˆ๋‹ค ใ…Žใ…Ž)

3์งธ์ฃผ๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋Š” ๋Œ€๊ธฐ์ค‘์ธ ์‚ฌ์ด๋“œํ”„๋กœ์ ํŠธ์˜ ์ผ์ •์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ์ฃผ๊นŒ์ง€๋Š” ๋๋‚ด์•ผ ํ•˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค.

์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ๋นจ๋ฆฌ ์ฒ˜๋ฆฌํ•ด์„œ ๋ฌด์‚ฌํžˆ ์™„๋ฃŒํ•˜๊ณ ์‹ถ๋‹ค.

๋‹ค์Œ ์‹œ๊ฐ„์—๋Š” member์ชฝ ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ์„ ๊ตฌํ˜„ํ•ด ๋ณด๊ฒ ๋‹ค !!

profile
๐Ÿฑโ€๐Ÿ Front End Developer

0๊ฐœ์˜ ๋Œ“๊ธ€