์ด์ ๊ธ์์ ์ด์ด์ง๋๋ค.
2024.01.14 - [๐จ TIL/๐งญ KAIST JUNGLE] - [๐งญ๏ธJungle] Own project - TIL
[๐งญ๏ธJungle] Own project - TIL
โ๏ธOwn Project URL, Memo๋ฅผ ์ ์ฅํ ์ ์์ผ๋ฉฐ, card columns ํ์์ผ๋ก ์ ์ฅํ๋ ๋ด์ฉ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ๋ ์ฌ์ดํธ. โ๏ธ ๋งํ๋ ๋ถ๋ถ Card Columns๋ฅผ ํ์: ์๋ฃ(Bootstrap Document์์ ๊ฐ์ ธ์ด(๋จ์ Div ํ๊ทธ ํต
seungineer.tistory.com
โ๏ธOwn Project
URL, Memo๋ฅผ ์ ์ฅํ ์ ์์ผ๋ฉฐ, card columns ํ์์ผ๋ก ์ ์ฅํ๋ ๋ด์ฉ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ๋ ์ฌ์ดํธ.
โ๏ธ ๋งํ๋ ๋ถ๋ถ
...
- ํ์ฌ๋ Card Columns๋ฅผ ์๋์ผ๋ก ํ์ํ์ง๋ง, DB์ ์๋ ์ ์ฅ๋ ์ ๋ณด์ ๊ฐ์ ๋งํผ ํ์ํ๋๋ก ์์ ํ์
- ํ์ด์ง๊ฐ ๋ก๋ฉ๋์๋ง์ → MongoDB์ ์๋ ๋ชจ๋ ์์๋ฅผ ์์ฒญ → HTML์์ JS์ .add ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ Tag๋ฅผ ์ถ๊ฐํด์ค์ผ ํจ (DB API์ Ajax๋ฅผ ํตํด์ Key ๋ฅผ ์์ฒญํ์ฌ Value๋ฅผ ๋ฐ์๋ด๋ฉด ๋จ. ์๋ ์ฝ๋ ์ฐธ๊ณ .)
@app.route('/load', methods = ['GET'])
def load():
return jsonify({'result':'success', 'msg':'GET ์ฐ๊ฒฐ๋์์ต๋๋ค!'})
function showArticles() {
$.ajax({
type: "GET", // POST ๋ฐฉ์์ผ๋ก ์์ฒญํ๊ฒ ๋ค.
url: "/load", // /memo๋ผ๋ url์ ์์ฒญํ๊ฒ ๋ค.
data: {}, // ๋ฐ์ดํฐ๋ฅผ ์ฃผ๋ ๋ฐฉ๋ฒ
success: function (response) { // ์ฑ๊ณตํ๋ฉด
if (response["result"] == "success") {
alert("load ํต์ ์๋ฃ!")
} else {
alert("์๋ฒ ์ค๋ฅ!")
}
}
})
}
์ดํ load() ํจ์ ๋ด์ DB์ ์๋ ์ ๋ณด๋ฅผ find method๋ก ๋ถ๋ฌ์์ listํ ํ ํ jsonify ์ํค๋ฉด, JS์์ success ํ ์ด JSON์ ๊ฐ์ ธ์ HTML์ add ํ ์ ์๋ค.
๐ช ๋ฒํผ ํด๋ฆญ ์ DB์ ์ปจํ ์ธ ์ ์ฅํ๊ธฐ : ์๋ฃ
๐ช Alert, Font, ์ฌ๋ฐฑ ๋ฑ ์ธ๋ถ ์ฌํญ ์์ ํ๊ธฐ โถ ๋ณ๊ฒฝ ํ์ ์ฌํญ
- margin padding ๋ฑ ์ด์ํ ๋ถ๋ถ ์์ ํ๊ธฐ : bootstrap ์ ๊ณต class = 'form-group'์ผ๋ก ์์๋ผ๋ฆฌ ๋ฌถ์ด์ ์ ๋นํ ๊ฐ๊ฒฉ์ ๋ง๋ค์ด๋
- font-style ๋ณ๊ฒฝ, title, comment ๋ถ๋ถ font-color ๋ณ๊ฒฝ : title, comment ํ๊ทธ์ class ์ง์ ํ์ฌ css๋ก ํน์ class์ font ์์ ๋ณ๊ฒฝ(color: blue;)
- title ํด๋ฆญ ์ url ๋งํฌ๋ก ๋์ด๊ฐ๋ ๊ฒ ๋ณ๊ฒฝ ํ์ : a ํ๊ทธ์ href์ ${'url'} ๋ฐฉ์์ผ๋ก ์ฝ์ (+ DB์๋ url์ ์ ์ฅํ์ง ์๊ณ ์์ด์ app.py file์์ url ๊น์ง DB์ POST ๋๋๋ก ์์ ํจ)
- ๊ธฐ์ฌ ์ ์ฅ ์๋ฃ ํ ํฌ์คํ ๋ฐ์ค ์๋ ๋ซ๊ธฐ๋ก ์์ : openclose() ํจ์(.css("display") ๊ฐ "none" or "block" ์ ๋ฐ๋ผ์ css dsiplay ์ํ๋ฅผ ๋ฐ๊ฟ์ฃผ๋ ํจ์)๋ฅผ ๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋๊ธฐ์ ํฌ์คํ ์๋ฃ alert ์ดํ ํจ์๋ฅผ ํ ๋ฒ ์คํ์์ผ์ฃผ๊ธฐ๋ง ํ๋ฉด ๋์
๐ฅณ์์ ํ ์ฑ๊ณต! ๐ฅณ
๐ก A-Ha
- Javascript์์ list์ ๊ฐ์ฅ ๋ง์ง๋ง index๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ํด์๋ python ์ฒ๋ผ(var[-1]) ๋ถ๊ฐ๋ฅ → var[var.length -1 - i] ๋ก ํํ ๊ฐ๋ฅ
- 'app.py' file์์ server API ํ์์ ๋ง๋ 'methods = ['GET']' ์ server์ ์ ๋ ฅ ์ 'response' ๋ณ์์ ๊ฒฐ๊ณผ๊ฐ ๋ฐํ๋๋ค. ๋ฐํ๋ 'response'๋ฅผ jsonify ํจ์๋ก JSON ํ์์ผ๋ก ๋ง๋ค์ด์ ๋ค๋ฃจ๊ธฐ ์ฝ๊ฒ ํ๋ค. JSON ํ์์ผ๋ก ๋ data๋ฅผ 'index.html' file์์ $.ajax์ 'success : { }' ๋ถ๋ถ์์ ๋ค๋ฃจ์ด ๋ธ๋ผ์ฐ์ ์์ ๋ํ๋ผ ์ ์๋ HTML ํ์์ผ๋ก ๋ง๋ ๋ค.
'๐งญ KAIST JUNGLE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๐งญ๏ธJungle] Own project - TIL (0) | 2024.01.14 |
---|---|
[๐งญ๏ธ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 |