๐ŸงฉDJANGO ์Šค์ฟผ๋“œ ์ˆ™์ œ

alsk9624ยท2024๋…„ 8์›” 25์ผ
0

ํŒจํ„ด, ๋งตํ•‘: project ํด๋”์˜ urls.py, app ํด๋”์˜ urls.py ๋‘ ๊ฐœ ์ˆ˜์ •, views.py ๋ฐ˜์˜ํ•˜๊ธฐ(์–ด๋–ค method๊ฐ€ ์“ฐ์ผ์ง€ ๊ณ ๋ฏผํ•˜๊ธฐ) (ํ•จ์ˆ˜ ๋‚ด๋ถ€๋Š” pass๋กœ ์ ๊ธฐ) โ†’ urls.py ํŒŒ์ผ ์„ธ ๊ฐœ ์บก์ณ, views.py ํŒŒ์ผ ๋‘ ๊ฐœ ์บก์ณ

post์•ฑ โ†’ list, write, detail
user์•ฑ โ†’ login, logout

  • ํ”„๋กœ์ ํŠธ ํŒŒ์ผ urls.py

  • post ํด๋” urls.py

  • user ํด๋” urls.py

  • post ํด๋” views.py

  • user ํด๋” veiws.py

๐Ÿ–ฅ๏ธ ๋‚ด๊ฐ€ ๊ถ๊ธˆํ–ˆ๋˜ ๋ถ€๋ถ„

  • 1) ํ”„๋กœ์ ํŠธ ํด๋”์ธ entry์˜ urls.py์— ๊ฐ ์•ฑ์˜ urls์„ ๋“ฑ๋กํ•˜๋Š” ๋ถ€๋ถ„์—์„œ
    ์•ฑ์— ๋“ค์–ด๊ฐ€๋Š” ์š”์†Œ๋“ค์„ ๊ฐ๊ฐ ์ ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ์™œ include๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€?
    (๋ผ›์†๊นŒ์ง€ ๋…ธ๊ฐ€๋‹ค ๊พผ์ธ๊ฐ€๋ด„ ์•„๋ฌด๋ž˜๋„;)

: include()๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” URL ํŒจํ„ด์„ ๊ฐ ์•ฑ์˜ urls.py์— ๋ชจ๋“ˆํ™”ํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•˜๊ณ , ํ”„๋กœ์ ํŠธ์˜ urls.py์—์„œ ์ด๋“ค์„ ๊น”๋”ํ•˜๊ฒŒ ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ. ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์ด ๋†’์•„์ง
(G์„ ์ƒ์ด ์•Œ๋ ค์คŒ ใ…Ž)

  • 2)
    post์•ฑ โ†’ list, write, detail
    user์•ฑ โ†’ login, logout

์–˜๋„ค๋“ค์ด ์–ด๋–ค method๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

> **1. GET ๋ฐฉ์‹ ์˜ˆ์‹œ**
์ƒํ™ฉ: ๊ฒ€์ƒ‰ ์—”์ง„์—์„œ ๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•ด ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋Š” ๊ฒฝ์šฐ
์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋‚˜์š”?

> ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์—์„œ "๊ณ ์–‘์ด"๋ผ๋Š” ๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ณ  "๊ฒ€์ƒ‰" ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค.
์ด๋•Œ ๋ธŒ๋ผ์šฐ์ €๋Š” GET ์š”์ฒญ์„ ์‚ฌ์šฉํ•ด ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.
URL์ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€ํ•ฉ๋‹ˆ๋‹ค: https://example.com/search?q=๊ณ ์–‘์ด
์—ฌ๊ธฐ์„œ q=๊ณ ์–‘์ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฒ€์ƒ‰์–ด๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
์„œ๋ฒ„๋Š” "๊ณ ์–‘์ด"๋ผ๋Š” ๊ฒ€์ƒ‰์–ด์— ํ•ด๋‹นํ•˜๋Š” ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์•„ ์‚ฌ์šฉ์ž์˜ ํ™”๋ฉด์— ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.


> **ํŠน์ง•! **
์‚ฌ์šฉ์ž๊ฐ€ ๊ฒ€์ƒ‰ํ•œ ๋‚ด์šฉ์ด URL์— ๊ทธ๋Œ€๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.
๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•œ ํ›„ URL์„ ๋ณต์‚ฌํ•ด์„œ ์นœ๊ตฌ์—๊ฒŒ ๋ณด๋‚ด๋ฉด, ์นœ๊ตฌ๋„ ๊ฐ™์€ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ณดํ†ต GET ์š”์ฒญ์€ ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š”(read) ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ์„œ๋ฒ„์˜ ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


> **2. POST ๋ฐฉ์‹ ์˜ˆ์‹œ**
์ƒํ™ฉ: ํšŒ์› ๊ฐ€์ž…์„ ํ•˜๋Š” ๊ฒฝ์šฐ
์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋‚˜์š”?

> ์‚ฌ์šฉ์ž๊ฐ€ ์›น์‚ฌ์ดํŠธ์˜ ํšŒ์› ๊ฐ€์ž… ํŽ˜์ด์ง€์—์„œ ์‚ฌ์šฉ์ž ์ด๋ฆ„, ๋น„๋ฐ€๋ฒˆํ˜ธ, ์ด๋ฉ”์ผ ๋“ฑ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ž๊ฐ€ "๊ฐ€์ž…" ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” POST ์š”์ฒญ์„ ์‚ฌ์šฉํ•ด ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.
์ด๋•Œ ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ๋Š” URL์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๊ณ , ์š”์ฒญ ๋ณธ๋ฌธ(body)์— ๋‹ด๊ฒจ ์„œ๋ฒ„๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.
์„œ๋ฒ„๋Š” ์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ์‚ฌ์šฉ์ž๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•˜๊ณ , "ํšŒ์› ๊ฐ€์ž…์ด ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค"๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ™”๋ฉด์— ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.


> **ํŠน์ง•!**
์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋‚˜ ๊ฐœ์ธ์ •๋ณด๋Š” URL์— ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ฐ์ดํ„ฐ๊ฐ€ ์š”์ฒญ ๋ณธ๋ฌธ์— ์ˆจ๊ฒจ์ ธ ์ „์†ก๋˜๊ธฐ ๋•Œ๋ฌธ์— GET ์š”์ฒญ๋ณด๋‹ค ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณ€๊ฒฝ์„ ๊ฐ€ํ•˜๊ฑฐ๋‚˜(์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž ์ถ”๊ฐ€ ๋“ฑ) ์„œ๋ฒ„์˜ ์ƒํƒœ๋ฅผ ๋ฐ”๊พธ๋Š” ์ž‘์—…์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ญ ๊ทธ๋ ‡๋‹ค๊ณ  ํ•œ๋‹ค...

๐Ÿ“Œ post์•ฑ โ†’ list, write, detail

  • list: ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ ๊ธ€์˜ ๋ชฉ๋ก๋“ค๋งŒ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— get ๋ฐฉ์‹. ์„œ๋ฒ„์˜ ์ƒํƒœ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์ด ์—†์Œ.
  • write: ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ ๊ธ€์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ. ์„œ๋ฒ„์˜ ์ƒํƒœ๊ฐ€ ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— post ๋ฐฉ์‹
  • detail: ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ ์„ธ๋ถ€ ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์˜ ์ƒํƒœ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ์ด ์—†์Œ. get ๋ฐฉ์‹

๐Ÿ“Œ user์•ฑ โ†’ login, logout

  • login: ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ. post ๋ฐฉ์‹
  • logout: get, post ๋‘˜ ๋‹ค ๊ฐ€๋Šฅ
profile
์•ž๊ธธ์— ๋Ÿญํ‚คโ˜…๋น„ํ‚ค๋งŒ ์žˆ๊ธธ ,,,๐Ÿ€๐Ÿซง

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