โ๏ธOwn Project
URL, Memo๋ฅผ ์ ์ฅํ ์ ์์ผ๋ฉฐ, card columns ํ์์ผ๋ก ์ ์ฅํ๋ ๋ด์ฉ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ๋ ์ฌ์ดํธ.
โ๏ธ ๋งํ๋ ๋ถ๋ถ
- Card Columns๋ฅผ ํ์: ์๋ฃ(Bootstrap Document์์ ๊ฐ์ ธ์ด(๋จ์ Div ํ๊ทธ ํตํ img, title, content ํ์))
- ํ์ํ๋ ๋ด์ฉ์ผ๋ก๋ DB์์ ์ ์ฅํ๋ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์์ผ ํจ
- MongoDB? pymongo → Flask๋ฅผ ํตํด์ DB์ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ → HTML์ ํ์ํ ๋, jQuery๋ฅผ ์จ์ ์๋ง์ ์์๋๋ก Img, Title, Memo ๋ฟ๋ฆฌ๊ธฐ (์ด๋ป๊ฒ HTML์์ DB์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฑฐ์ง?)
- ํ์ฌ๋ Card Columns๋ฅผ ์๋์ผ๋ก ํ์ํ์ง๋ง, DB์ ์๋ ์ ์ฅ๋ ์ ๋ณด์ ๊ฐ์ ๋งํผ ํ์ํ๋๋ก ์์ ํ์
๐ช DB ์ปจํ ์ธ HTML ํตํด ํ์ํ๊ธฐ ์ฑ๊ณต
- '๊ธฐ์ฌ ์ ์ฅ' ๋ฒํผ์ ๋๋ฌ์ DB์ ์ ์ฅ๋๊ฒ ํ๋ ๊ธฐ๋ฅ
- <Button> tag์์ onlclikc ์ JS <scripts> tag์ function ์คํ๋๋๋ก ๊ตฌ์ฑ : ์๋ฃ
- function์์ $.Ajax๋ก url ๋ฐ memo POST : ์๋ฌธ์ฌํญ - POST ์ Mongo DB ๋ก ์๋ฃ Uplad?
- ์ ์ฅ์๋ฃ ์๋ฆผ
๐ญ ์๋ฌธ์ฌํญ - ํด๊ฒฐ
'app.py' file์์ pymongo๋ฅผ flask์ ํจ๊ป import ํ๋ค.
'index.html'์ <script> tag ๋ด function ์์ $.ajax๋ฅผ ํตํด methods๋ฅผ ์ง์ ํ ์ ์์ผ๋ฉฐ(ํ์ฌ์ ๊ฒฝ์ฐ "POST"), url์"/xxxx" (ํ์ฌ์ ๊ฒฝ์ฐ "/upload")ํ์์ผ๋ก ์ง์ ํ ์ ์๋ค.
'app.py' file์์ ์ด url๊ณผ ์ผ์นํ๋ @app.route("/xxxx") ์ ์ ์๋ ํจ์๋ฅผ ์คํํ๋ค.
โถ๏ธ ์ฆ, POST ์ app.py์์ @app.route("/xxxx") ์ ์ ์๋ ํจ์๋ก MongoDB์ ์๋ฃ๋ฅผ Upload ํ๋ค.
๐ช ๋ฒํผ ํด๋ฆญ ์ DB์ ์ปจํ ์ธ ์ ์ฅํ๊ธฐ ์ฑ๊ณต
- Alert, Font, ์ฌ๋ฐฑ ๋ฑ ์ธ๋ถ ์ฌํญ ์์ ํ๊ธฐ
๐ช ์์ ํ ์ฑ๊ณต
๐ก A-Ha
- HTML <Body> ๋ด <script> ํ๊ทธ ๋ด ์ ์ธ๋์ด ์๋ JS Code ์ค ํ ๊ตฐ๋ฐ์์๋ผ๋ error ๋ฐ์ ์ Script ํ๊ทธ ์ ์ฒด๊ฐ ์คํ๋์ง ์์ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋๊ธฐ์ ์ค๋ฅ ๋ฐ์
โถ error ๋ฐ์ ์ง์ ์ ์ ์ ์ธํ function ๋ํ ์คํ๋์ง ์๊ธฐ์ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํจ.
'Uncaught Reference Error'๊ฐ ๋ฐ์ํ์์ผ๋ ๋ถ๋ช ํ ํด๋น function์ ์ ์ธํด์ฃผ์๋ค๊ณ ์๊ฐํ์ฌ, ํด๊ฒฐ์ด ์ ๋๊ณ ์์๋ค. ๋ ๋ฒ์งธ error code์ธ 'Uncaugt SyntaxError'๋ฅผ ๋ณด๊ณ script ํ๊ทธ ๋ด ๋ค๋ฅธ code ์๋ฌ๋ฅผ ํด๊ฒฐํ์์ผ๋ฉฐ ์์ ์ธ๊ธํ error๋ ํด๊ฒฐ๋์๋ค.
'๐งญ KAIST JUNGLE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๐งญ๏ธJungle] Own project(Finished)- TIL (0) | 2024.01.15 |
---|---|
[๐งญ๏ธJungle] Web Scraper, Flask, Own project - TIL (1) | 2024.01.13 |
[๐งญ๏ธJungle] jQuery, Ajax, mongoDB - TIL (0) | 2024.01.11 |
[๐งญ๏ธJungle] Bootstrap, JS - TIL (0) | 2024.01.10 |
[๐งญ๏ธJungle] HTML, CSS - TIL (0) | 2024.01.08 |