๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

โœ’๏ธ Python Programming/Frameworks23

< django - 23 > 23. ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ๊ณผ GET + ๊ฒ€์ƒ‰ ํผ + ํŽ˜์ด์ง• + ๊ฒ€์ƒ‰ ์Šคํฌ๋ฆฝํŠธ์™€ ๊ฒ€์ƒ‰ ํ•จ์ˆ˜ # ๊ฒ€์ƒ‰ ํ™”๋ฉด ๋ฐ ๊ฒ€์ƒ‰ ์ฐฝ - projects\mysite\templates\pybo\question_list.html ํŒŒ์ผ์„ ์—ด์–ด ํ…œํ”Œ๋ฆฟ์— ๊ฒ€์ƒ‰์–ด๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ์ฐฝ ์ถ”๊ฐ€ + ์งˆ๋ฌธ ๋“ฑ๋กํ•˜๊ธฐ ๋ฒ„ํŠผ์€ ๊ฒ€์ƒ‰์ฐฝ์˜ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ + Line 11์˜ id="search_kw" --> ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ์—์„œ ์ด ํ…์ŠคํŠธ์ฐฝ์— ์ž…๋ ฅ๋œ ๊ฐ’์„ ์ฝ๊ธฐ ์œ„ํ•ด id์†์„ฑ ์ถ”๊ฐ€ # ๊ฒ€์ƒ‰ ํผ - projects\mysite\templates\pybo\question_list.html ์„ ์—ด๊ณ  page, kw๋ฅผ ๋™์‹œ์— GET์œผ๋กœ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” searchForm ์ถ”๊ฐ€ + > : method ์†์„ฑ์— "get" ์„ค์ • --> GET ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ.. 2022. 8. 25.
< django - 22 > 22. ๋‹ต๋ณ€ ์•ต์ปค + ๋‹ต๋ณ€ redirect + ๋งˆํฌ๋‹ค์šด๊ณผ ๋งˆํฌ๋‹ค์šด ๋ฌธ๋ฒ• # ๋‹ต๋ณ€ ์•ต์ปค - projects\mysite\templates\pybo\question_detail.html ํŒŒ์ผ์„ ์—ด๊ณ  ๋‹ต๋ณ€ ์ž‘์„ฑ, ์ˆ˜์ • ์‹œ์— ์ด๋™ํ•ด์•ผ ํ•  ์•ต์ปค ํƒœ๊ทธ๋ฅผ ์งˆ๋ฌธ ์ƒ์„ธ ํ…œํ”Œ๋ฆฟ์— ์ถ”๊ฐ€ + URL ์„ ํ˜ธ์ถœํ•  ๋•Œ ์›ํ•˜๋Š” ์œ„์น˜๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ฃผ๋Š” ์•ต์ปค ํƒœ๊ทธ ์ถ”๊ฐ€ + answer_{{ answer.id }}์ฒ˜๋Ÿผ ๋‹ต๋ณ€ id ์‚ฌ์šฉ --> ์•ต์ปค ํƒœ๊ทธ์˜ name ์†์„ฑ์ด ์œ ์ผํ•œ ๊ฐ’์ด์—ฌ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ # ๋‹ต๋ณ€ redirect 1. projects\mysite\pybo\views\answer_views.py ํŒŒ์ผ์„ ์—ด๊ณ  answer_views.py์˜ answer_create, answer_modify, answer_vote ํ•จ์ˆ˜๋ฅผ ์•„๋ž˜.. 2022. 8. 23.
< django - 21 > 21. ์งˆ๋ฌธ๊ณผ ๋‹ต๋ณ€ ์ถ”์ฒœ # Question ๋ชจ๋ธ๊ณผ voter ์†์„ฑ 1. projects\mysite\pybo\models.py ํŒŒ์ผ์„ ์—ด์–ด Question ๋ชจ๋ธ์— ์ถ”์ฒœ์ธ(voter) ์†์„ฑ ์ถ”๊ฐ€ + Line 11์˜ ManyToManyField : ๋‹ค๋Œ€๋‹ค(N:N) ๊ด€๊ณ„ --> ํ•˜๋‚˜์˜ ์งˆ๋ฌธ์— ์—ฌ๋Ÿฌ๋ช…์ด ์ถ”์ฒœํ•  ์ˆ˜ ์žˆ๊ณ  ํ•œ ๋ช…์ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์งˆ๋ฌธ์— ์ถ”์ฒœํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ 2. ๋ช…๋ น ํ”„๋กฌํฌํŠธ์—์„œ makemigrations ๋ช…๋ น ์‹คํ–‰ --> ์˜ค๋ฅ˜ ๋ฐœ์ƒ + User ๋ชจ๋ธ์„ ํ†ตํ•ด์„œ Question ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒฝ์šฐ, author์™€ voter ์ค‘ ์–ด๋Š ๊ฒƒ์„ ๊ธฐ์ค€์œผ๋กœ ํ•ด์•ผ ํ• ์ง€ ๋ช…ํ™•ํ•˜์ง€ ์•Š๋‹ค๋Š” ์˜ค๋ฅ˜ --> Question ๋ชจ๋ธ์—์„œ ์‚ฌ์šฉํ•œ author, voter๊ฐ€ ๋ชจ๋‘ User ๋ชจ๋ธ๊ณผ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์–ด ๋ฐœ์ƒ.. 2022. 8. 22.
< django - 20 > 20. views.py ํŒŒ์ผ ๋ถ„๋ฆฌ # views.py ํŒŒ์ผ ๋ถ„๋ฆฌ 1. ๋ช…๋ น ํ”„๋กฌํฌํŠธ์—์„œ projects\mysite\pybo\views ๋””๋ ‰ํ„ฐ๋ฆฌ ๋งŒ๋“ค๊ธฐ 2. ๊ธฐ๋ณธ ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•  projects\mysite\pybo\views\base_views.py ํŒŒ์ผ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑ 3. ์งˆ๋ฌธ ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•  projects\mysite\pybo\views\question_views.py ํŒŒ์ผ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑ 4. ๋‹ต๋ณ€ ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•  projects\mysite\pybo\views\question_views.py ํŒŒ์ผ์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑ 5. views ๋””๋ ‰ํ„ฐ๋ฆฌ์— projects\mysite\pybo\views\__init__.py ํŒŒ์ผ์„ ์•„๋ž˜์ฒ˜๋Ÿผ ์ž‘์„ฑ ํ›„ pybo/views.py ํŒŒ์ผ ์‚ญ์ œ 6. ์—ฌํƒœ๊นŒ์ง€์˜ ๊ณผ.. 2022. 8. 17.
< django - 19 > 19. ๊ธ€์“ด์ด ํ‘œ์‹œ์™€ ์งˆ๋ฌธ ๋ชฉ๋ก + ์งˆ๋ฌธ ์ƒ์„ธ + ๊ธ€, ์งˆ๋ฌธ์˜ ์ˆ˜์ • ๋ฐ ์‚ญ์ œ + ๊ธ€, ์งˆ๋ฌธ ์ˆ˜์ • ์ผ์‹œ ํ‘œ์‹œ + ์˜ค๋ฅ˜ ํ‘œ์‹œ + ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ธ”๋ก # ๊ธ€์“ด์ด ํ‘œ์‹œ์™€ ์งˆ๋ฌธ ๋ชฉ๋ก 1. projects\mysite\templates\pybo\question_list.html ํŒŒ์ผ์„ ์—ด๊ณ  ํ…Œ์ด๋ธ” ํ—ค๋”์— ๊ธ€์“ด์ด ํ•ญ๋ชฉ ์ถ”๊ฐ€ + Line 10์— ๊ธ€์“ด์ด ํ•ญ๋ชฉ ์ถ”๊ฐ€ + Line 7์— tr ์—˜๋ฆฌ๋จผํŠธ์— text-center ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ --> th ์—˜๋ฆฌ๋จผํŠธ๊ฐ€ ๊ฐ€์šด๋ฐ์— ์œ„์น˜ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•จ + Line 9 ์— ์ œ๋ชฉ ๋„“์ด๊ฐ€ ์ „์ฒด์˜ 50%๊ฐ€ ๋˜๋„๋ก ์ง€์ • 2. projects\mysite\templates\pybo\question_list.html ํŒŒ์ผ์„ ์—ด์–ด for ๋ฌธ์—๋„ ๊ธ€์“ด์ด ์ ์šฉ + > : {{ question.user.use.. 2022. 8. 15.
< django - 18 > 18. ๋ชจ๋ธ ๋ณ€๊ฒฝ + Question, Answer ์†์„ฑ ์ถ”๊ฐ€ + author ์ €์žฅ + ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•œ ํ•จ์ˆ˜ + next ์™€ disable # Question ๋ชจ๋ธ๊ณผ author ์†์„ฑ - projects\mysite\pybo\models.py ํŒŒ์ผ์„ ์—ด๊ณ  Question ๋ชจ๋ธ์— author ์†์„ฑ์„ ์ถ”๊ฐ€ + Line 6์—์„œ author ํ•„๋“œ๋Š” User ๋ชจ๋ธ์„ ForeignKey ๋กœ ์ ์šฉ ํ›„ ์„ ์–ธ + User ๋ชจ๋ธ --> django.contrib.auth ์•ฑ์ด ์ œ๊ณตํ•˜๋Š” ์‚ฌ์šฉ์ž ๋ชจ๋ธ์œผ๋กœ, ํšŒ์› ๊ฐ€์ž…์‹œ ๋ฐ์ดํ„ฐ ์ €์žฅ์— ์‚ฌ์šฉ + Line 6์˜ on_delete=models.CASCADE --> ๊ณ„์ • ์‚ญ์ œ ์‹œ ๊ณ„์ •์ด ์ž‘์„ฑํ•œ ์งˆ๋ฌธ ๋ชจ๋‘ ์‚ญ์ œ + ์ฃผ์˜! ๋ชจ๋ธ์„ ๋ณ€๊ฒฝํ•œ ํ›„์—๋Š” ๊ผญ ๋ช…๋ น ํ”„๋กฌํฌํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ.. 2022. 8. 7.