๐ Front End Developer ์ Back End ๋์ ๊ธฐ ! ๐
์ด ๊ธ์ PROJECT LION : ํธ์ฝ์น ๊ฐ์ฌ๋์ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉฐ ์ฐธ๊ณ ํ ๊ธ์ ๋๋ค.
์์ ์ค, ๊ฐ๋ฐ๊ณผ์ ์ ๋ฆฌ ๋ฐ issue๊ฐ ๋์๋ ๋ถ๋ถ๋ค์ ๊ณต์ ๋ฐ ๊ธฐ๋กํ๊ณ ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค.
โ ์ด์ ์๊ฐ์๋ ํ๋งคํ๊ณ ์ ํ๋ ์ํ์ ๊ณ ์ ๊ฐ ๋ฐ ์ ๋ณด๋ค์ ๊ฐ์ db์ ์ ์ฅํ์๋ค.
์ถ๊ฐ์ ์ผ๋ก list์ ๋ฟ๋ ค์ง thumbnail img ๋ฐ view page์ img ๋ ํ์ผ ๊ฒฝ๋ก๋ฅผ ์์ฑํ ํ ์ง์ ๋ filename์ผ๋ก ์ ์ฅํ์ฌ ๊ฐ์ ๋๊ฒจ๋ณด๋๋ก ํ๊ฒ ๋ค.
request file ๊ฒฝ๋ก ์์ฑ(thumbnail ๋ฐ detail img)
= ํด๋น img file์ upload ํ๊ฒ ๋๋ฉด, request.files ๋ผ๋ ๊ณณ์ thumbnail_img ๋ฐ detail_img ๋ผ๋ file์ ์ ๋ณด๋ฅผ ์ป์ ์ ์๋ค.file ์ ๋ณด์ ๊ฒฝ์ฐ ์ด๋๊ฐ์ ์ ์ฅ ํด ์ฃผ์ด์ผ ํ๋๋ฐ, file์ text๊ฐ ์๋ ๋ง ๊ทธ๋๋ก file ํํ์ด๊ธฐ ๋๋ฌธ์ python file ๊ณผ ๊ฐ์ file ํํ๋ก ์ ์ฅํด ์ฃผ์ด์ผ ํ๋ค.
- img_file upload ์ํ ํจ์ ์์ฑ
= ๊ฐ ์ฝ๋์ ํ๋ฆ์ ๋ง๊ฒ ์์๋๋ก ์ฃผ์์ฒ๋ฆฌ ํ์์ง๋ง ๋ค์ํ๋ฒ ๋ณต์ตํ ๊ฒธ ์์๋ฅผ ๋์ดํ๋ฉฐ ์ฝ๋๋ฅผ ์ฌ์์ฑ ํด๋ณด๊ฒ ๋ค.๐งธ ํจ์ ๋ด๋ถ ์์ ๐งธ
2-1. upload ์ํจ ๋ ์ง๋ฅผ ํ์ธํ๊ธฐ ์ํด, timestamp ํจ์ ์ฌ์ฉ
2-2. ์์ฑ๋ file ์ด๋ฆ์๋ ์์ฑํ ๋ ์ง์ ์ด๋ฆ์ ์ถ๊ฐํ๋ค.
2-3. upload ์ํค๊ณ ์ ํ๋ path ์ค์
2-4. directory ์กด์ฌ ์ ๋ฌด๋ฅผ ํ์ ํ์ฌ ํด๋น directory์ path ๋ฐ filename upload
2-5. path ๊ฒฝ๋ก์ file save
2-6. ์ ์ฅ๋ path ๊ฒฝ๋ก > img file mongoDB upload
- upload file ํจ์ ํธ์ถ ๋ฐ img ๊ฐ db์ ๋ฌ
= upload_file ํจ์ ํธ์ถ ๋ฐ ์์ฒญํ img ๊ฐ์ thumnail_img_url ๋ฐ detail_img_url ๋ณ์์ ์ ์ฅ ํ, db ์ ์ ๋ฌํ๊ธฐ ์ํด insert_one ๋ด๋ถ์ ๊ฐ์ ์ ์กํด์ค๋ค.
- ์์ฒญ ํ ์ ๋ฌ๋ฐ์ ๊ฐ db ์ ์ก
= db์ ๋ณด๋ด์ค ๊ฐ์ ๋ฐ์์, insert ์์ผ์ค๋ค(user๊ฐ์ ์์๋ก admin์ผ๋ก ์ธํ ํ์ผ๋ฉฐ, ์์ฑ๋ ์ง ๋ฐ ์์ ๋ ์ง๋ filename์ ์ ์ฅํ ๋ ์ฒ๋ผ timestamp ๊ฐ์ ์ ์ type์ผ๋ก ์์ฑํ์ฌ db์ ๋ด์์ฃผ์๋ค.)
- datetime, secure_filename, os ๋ถ๋ฌ์ค๊ธฐ
= models > product.py file๋ datetime ์ ์ฌ์ฉํ์ผ๋ฏ๋ก, ๋์ผํ๊ฒ datetime import ํ์
- upload ํ ์คํธ
= Insomnia ์ ์ ํ, file ํํ๋ก thumbnail img ๋ฐ detail img ์ฒจ๋ถ ํ ์ ์ก
- static/uploads folder ์์ฑ ํ์ธ
- MongoDB ์ ์ก ๊ฐ ํ์ธ
์ด๋ก์จ img file์ด db์ ์ ์์ ์ผ๋ก ์ ์ฅ ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค ๐
์ํ๋ฑ๋ก API์ ๋ํ ๊ตฌํ์ ์๋ฃํ์๋ค!
ํ์
์์๋ fe ์
๋ฌด๋ง ์ํํ๊ณ ์์ด, ์ค์ง์ ์ผ๋ก ๊ฐ์ ์ ์ฅํ๊ณ ๋๊ธฐ๋ ์์
์ ์ฒ๋ฆฌํด ๋ณด์ง ๋ชปํ๋๋ฐ, ์ค์ ๋ก ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๊ฐ์ ๋๊ธฐ๋ ์์
์ ์ํํด๋ณด๋ ์ฌ๋ฐ๋ ๊ฒ ๊ฐ๋ค. (์์ง ์ฝ๋๋ ์์ฝ๊ฒ ์์ฑํ์ง๋ ๋ชปํ ๊ฒ ๊ฐ๋ค ๐)
๋ค์์๊ฐ์๋ ์ํ๋ฑ๋ก page๋ฅผ ๊ตฌํํ์ฌ ์ค์ web browser์์ ๋ฑ๋ก์ด ๊ฐ๋ฅํ๋๋ก ํด๋ณด๊ฒ ๋ค.