๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • What would life be If we had no courage to attemp anything?

๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง36

๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.21.๋ชฉ ์˜ค๋Š˜๋„ ์—ญ์‹œ Django REST Framework๋ฅผ ์ด์šฉํ•œ ์‹ค์Šต์„ ํ•˜์˜€๋‹ค. Django๋กœ๋งŒ ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ๋ณด๋‹ค ํ™•์‹คํžˆ ๊ณผ์ •์ด ์งง์•„์กŒ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค. POSTMAN์„ ์ด์šฉํ•ด ์‘๋‹ต์„ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์—์„œ ์˜ค๋Š˜๋„ ์˜ค๋ฅ˜๋“ค์„ ๋งŒ๋‚ฌ๋‹ค. ์ด๋ฒˆ์—๋„ ์•ฝ๊ฐ„ ์–ด์ด์—†๋Š” ์‹ค์ˆ˜์˜€๋Š”๋ฐ, 500๋ฒˆ๋Œ€ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์™€์„œ ๋ญ˜๊นŒ ํ–ˆ๋Š”๋ฐ ํ„ฐ๋ฏธ๋„์— ๋œฌ ์˜ค๋ฅ˜๋ฅผ ๋ณด๋‹ˆ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜๋‹ค. django.core.exceptions.ImproperlyConfigured: Field name `name` is not valid for model `Music`. ๋‚ด๊ฐ€ models.py์— field์ด๋ฆ„์„ content๋ผ ํ•ด๋†“๊ณ  serializers.py์—์„œ ๋ช…์„ธ์„œ๋ฅผ ์ž˜๋ชป๋ณด๊ณ  ์ ์–ด name์ด๋ผ๊ณ  ์ ์—ˆ๋‹ค. from rest_framework import seria.. 2022. 4. 21.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.20.์ˆ˜ Today I Learn 220420 ์˜ค๋Š˜์€ Django REST Framework๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ๋‹ค. ์ด์ „๊นŒ์ง€๋Š” Django์˜ MVTmodel์„ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ, REST Framework๋ฅผ ์ด์šฉํ•˜๋ฉด T(templates)๋ฅผ ๋งŒ๋“ค ํ•„์š” ์—†์ด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค! ์ด์ œ๊นŒ์ง€ ํ…œํ”Œ๋ฆฟ์„ ์ž‘์„ฑํ•˜๋Š”๊ฒŒ ์•ฝ๊ฐ„ ๊ท€์ฐฎ์€ ์ž‘์—…์ด๋ผ๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, Django์—๋Š” REST Framework๋ผ๋Š” ์ข‹์€ ํ”„๋ ˆ์ž„ ์›Œํฌ๊ฐ€ ์žˆ๋˜๊ฒƒ์ด์—ˆ๋‹ค! ์ด์ „์—๋Š” ModelForm์„ ์ž‘์„ฑํ•ด ์ฃผ์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ์—๋Š” ModelForm๋Œ€์‚ฐ Serializers.py๋ฅผ ๋งŒ๋“ค์–ด ์ž‘์„ฑํ•ด์ฃผ์—ˆ๋‹ค! ๋‘˜์ด ๋‹ค๋ฅธ๊ฑฐ ๊ฐ™์ง€๋งŒ ์ž์„ธํžˆ ๋ณด๋ฉด ๋น„์Šทํ•œ ๋ฉด์ด ๋งŽ์•˜๋‹ค. Serializer๋Š” ์‚ฌ์ „์  ์˜๋ฏธ๋กœ ์ง๋ ฌํ™”๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ๊ฐ„๋‹จํ•˜๊ฒŒ ํŒŒ์ด์ฌ ๋ฐ์ดํ„ฐ๋ฅผ JSON ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค ์ •๋„๋กœ .. 2022. 4. 20.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.19.ํ™” Today I Learn 220419 ์˜ค๋Š˜๋„ ์žฅ๊ณ  ์›Œํฌ์ƒต์„ ํ•˜๋ฉด์„œ ๋˜ ๋ฐ”๋ณด๊ฐ™์€ ๊ฒฝํ—˜์„ ํ–ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ณ„์ •์„ ๋‘๊ฐœ ๋งŒ๋“ค์—ˆ๋Š”๋ฐ ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ ์ข‹์•„์š”๋ฅผ ๋ˆŒ๋Ÿฌ๋†“์€ ๊ฒƒ์„ ์žŠ๊ณ ์žˆ๋˜๊ฒŒ ์›์ธ์ด์—ˆ๋‹ค. ์ข‹์•„์š” ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๋ฉด์„œ ํ˜„์žฌ ๊ณ„์ •์œผ๋กœ ์ข‹์•„์š”๋ฅผ ๋ˆ„๋ฅด์ง€ ์•Š์•˜๋Š”๋ฐ ์ข‹์•„์š” ์ˆ˜๊ฐ€ 1๋กœ ์ถœ๋ ฅ๋˜์–ด์„œ ์ถœ๋ ฅ์— ์ด์ƒ์ด ์žˆ๊ณ  ์ฝ”๋“œ๋ฅผ ์ž˜๋ชป ์ž‘์„ฑํ•œ ์ค„ ์•Œ์•˜๋‹ค. ๊ทธ๋ž˜์„œ ์กฐ๊ธˆ์”ฉ ๊ณ ์น˜๋‹ค ๋ณด๋‹ˆ ๊ณผ์ œ ์ˆ˜์ • commit๋งŒ 4๋ฒˆ ์ด์ƒ ํ–ˆ๋‹ค. ๋‹ค์‹œ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ๋‹ค๋ฅธ ๊ณ„์ •์œผ๋กœ ์ข‹์•„์š” ์ˆ˜๋ฅผ ๋ˆŒ๋ €์„ ์ˆ˜๋„ ์žˆ๋‹ค๋Š” ์ ์ด ๋ถˆํ˜„๋“ฏ ์Šค์ณ๊ฐ”๋‹ค. ์˜ค๋ฅ˜๋•Œ๋ฌธ์— if๋ฌธ ์•ˆ์— ์ข‹์•„์š” ์ˆ˜๋ฅผ ๋„ฃ์—ˆ๋‹ค๊ฐ€, article.like_user๋ผ๊ณ ๋„ ๋งŒ๋“ค์–ด๋ดค๋‹ค๊ฐ€ ์—ฌ๋Ÿฌ ์‹œ๋„๋ฅผ ํ–ˆ์—ˆ๋Š”๋ฐ, ์›์ธ์„ ์•Œ๊ณ  ๋‚˜์„œ ๋‹ค์‹œ if๋ฌธ ๋ฐ”๊นฅ์œผ๋กœ ๋นผ์ฃผ๊ณ  ํ•˜๋‹ˆ ์ •์ƒ์ ์œผ๋กœ ์ถœ๋ ฅ๋˜์—ˆ๋‹ค. ์˜ค๋ฅ˜๋ผ๊ณ  ์ƒ๊ฐํ•œ๊ฒŒ ๋‹จ์ˆœ.. 2022. 4. 19.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.18.์›” Today I Learn 220418 ์˜ค๋Š˜์€ DB 1:N๊ด€๊ณ„์™€ ๊ด€๋ จํ•˜์—ฌ todo app์„ ์žฅ๊ณ ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ์›Œํฌ์ƒต์„ ํ–ˆ๋‹ค. ์˜ค๋Š˜๋„ ์–ด๊น€์—†์ด ์˜ค๋ฅ˜์™€ ์‹ธ์› ๋‹ค. ์ฒ˜์Œ์— migration์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์ด๊ฒŒ ๊ณ„์† ์ด์–ด์ง€๋ฉด์„œ ์„œ๋ฒ„๊นŒ์ง€ ์ผœ์ง€์ง€ ์•Š์•„์„œ ๊ฒฐ๊ตญ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋งŒ๋“ค์—ˆ๋‹ค. ๋‹ค์‹œ ์˜ค๋ฅ˜๋ฅผ ๋˜์งš์–ด๋ณด๋ฉด settings.py์— AUTH_USER_MODEL = 'accounts.User'๋ฅผ ์ ์–ด๋‘๊ณ  accounts์˜ model๊ณผ form์„ ์ œ๋Œ€๋กœ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„์„œ attribute ์—๋Ÿฌ๊ฐ€ ๋œฌ ๊ฑฐ์˜€๋‹ค. ๋˜ ํ•œ๋ฒˆ์— ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ ค๋‹ค๊ฐ€ ๋‚ด๊ฐ€ ๋†“์นœ ๋ถ€๋ถ„๋“ค์ด ์ƒ๊ฒผ๋˜ ๊ฑฐ ๊ฐ™์•˜๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์‹œ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋งŒ๋“ค ๋•Œ๋Š” ๊ณผ์ • ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค์‹œ ๋˜์งš์–ด๊ฐ€๋ฉฐ ๋งŒ๋“ค์–ด๋ณด๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ๋‹ค. ๊ทธ๋žฌ๋”๋‹ˆ ์‚ฌ์†Œํ•œ ์˜ค๋ฅ˜๋“ค๋งŒ ๋งŒ๋‚˜๊ณ  ๋Œ€์ฒด์ ์œผ๋กœ ๊ดœ์ฐฎ๊ฒŒ ํ˜๋Ÿฌ๊ฐ”๋‹ค.. 2022. 4. 18.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.15.๊ธˆ Today I Learn 2022.04.15 ์˜ค๋Š˜์€ ๊ด€ํ†ต ํ”„๋กœ์ ํŠธ๋กœ ๋žœ๋ค์œผ๋กœ ๋ฐฐ์ •๋œ ํŽ˜์–ด์™€ ํ•จ๊ป˜ ํ˜‘์—…ํ•˜์—ฌ ์žฅ๊ณ  CRUD๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ํ–ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ์˜ ๋ชฉํ‘œ๋Š” ์™„๋ฒฝํ•œ CRUD๋ฅผ ๊ตฌํ˜„ํ•ด ๋‚ด๋Š” ๊ฒŒ ์•„๋‹Œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๊ณผ ํ˜‘์—…์„ ํ•œ๋‹ค๋Š” ์ ์—์„œ ์˜๋ฏธ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์‚ฌ์‹ค ํ˜ผ์ž์„œ๋„ ๊นƒ์„ ๋‹ค๋ฃจ๋Š”๋ฐ ์•„์ง ์–ด๋ ค์›€์ด ์žˆ๊ณ , ๊ด€ํ†ต ํ”„๋กœ์ ํŠธ๋ฅผ ํ˜ผ์ž์„œ ํ•˜๋Š” ๊ฒƒ๋„ ์•„์ง ์–ด๋ ค์›€์ด ์žˆ๋Š” ๋‚˜์—๊ฒŒ๋Š” ๋žœ๋ค์œผ๋กœ ํŽ˜์–ด๊ฐ€ ๋œ ์‚ฌ๋žŒ๊ณผ ํ•จ๊ป˜ ํ˜‘์—…ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์€ ์ฒ˜์Œ์—๋Š” ๋‘๋ ค์›€์œผ๋กœ ๋‹ค๊ฐ€์™”๋‹ค. ํ•˜์ง€๋งŒ, ํ˜ผ์ž๊ฐ€ ์•„๋‹Œ 'ํ˜‘์—…'์ด๋ผ๋Š” ์˜๋ฏธ๋ฅผ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๋‹ค์‹œ ํ•œ๋ฒˆ ๋ฐฐ์šฐ๋Š” ๊ธฐํšŒ๊ฐ€ ๋˜์—ˆ๋‹ค. ์™œ ์ด ๋ถ€๋ถ„์„ ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜๋Š”์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด ๋ณด๊ฒŒ ๋˜์—ˆ๊ณ , git ์‚ฌ์šฉ๋ฒ•์— ๋Œ€ํ•ด ๋” ์‰ฝ๊ฒŒ ๋‹ค๊ฐ€๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ์˜€๋‹ค. ํ˜‘์—…์„ ํ•˜๋ฉด์„œ ์˜ค๋ฅ˜๋ฅผ ๋งŒ๋‚  ๋•Œ ๊ฐ™์ด.. 2022. 4. 15.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.14.๋ชฉ TIL : Today I Learn 220414 ์˜ค๋Š˜์€ DB์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ–ˆ๋‹ค. DB์˜ ๋ฌธ๋ฒ•์„ ์ตํžˆ๊ธฐ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ฌธ์ œ ์ค‘ SQL ๊ณ ๋“์  Kit์˜ SELECT, SUM,MAX,MIN,GROUP BY, IS NULL์„ ํ’€์—ˆ๋‹ค. ๊ทธ ์ค‘ GROUP BY์˜ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ์ธ ์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ(2) ๋ฌธ์ œ๊ฐ€ ๋งค์šฐ ์–ด๋ ค์› ๋‹ค. (๋ฐฐ์šฐ์ง€ ์•Š์€ ๋ฌธ๋ฒ•์ด ๋“ฑ์žฅ!) https://programmers.co.kr/learn/courses/30/lessons/59413 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ž…์–‘ ์‹œ๊ฐ ๊ตฌํ•˜๊ธฐ(2) ANIMAL_OUTS ํ…Œ์ด๋ธ”์€ ๋™๋ฌผ ๋ณดํ˜ธ์†Œ์—์„œ ์ž…์–‘ ๋ณด๋‚ธ ๋™๋ฌผ์˜ ์ •๋ณด๋ฅผ ๋‹ด์€ ํ…Œ์ด๋ธ”์ž…๋‹ˆ๋‹ค. ANIMAL_OUTS ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์œผ๋ฉฐ, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NA.. 2022. 4. 14.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.13.์ˆ˜ TIL : Today I Learn 220413 ์˜ค๋Š˜์€ django ๊ฒŒ์‹œํŒ์— ๋Œ“๊ธ€์„ ์ƒ์„ฑํ•˜๊ณ  ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ํ•™์Šตํ•˜์˜€๋‹ค. DB์ค‘ 1:N ๊ด€๊ณ„์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ–ˆ๋Š”๋ฐ ์˜ค๋Š˜๋„ ์–ด๊น€์—†์ด ์˜ค๋ฅ˜๋ฅผ ๋งŒ๋‚ฌ๋‹ค... ์˜ค๋Š˜์€ ํŽ˜์ด์ง€๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ์˜ค๋ฅ˜๋ฅผ ๋งŒ๋‚˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ๊ต์ˆ˜๋‹˜์„ ๋”ฐ๋ผํ•˜๋ฉด์„œ comments ๋ถ€๋ถ„์„ comment๋ผ๊ณ  ๋ฐ”๊พธ๋ฉด์„œ ํ•˜๋‚˜์”ฉ ๊ผฌ์—ฌ ๋Œ“๊ธ€์ด ์ƒ์„ฑ๋˜์ง€ ์•Š์•˜์—ˆ๋‹ค. comment๋ผ๊ณ  ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ articles/views.py์—์„œ ์‹œ์ž‘๋˜์—ˆ๋Š”๋ฐ ๋‹ค์‹œ comments๋ผ๊ณ  ์“ฐ๋ฉด์„œ ๊ณ ์ณค๋”๋‹ˆ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค... @require_POST def comments_create(request, pk): if request.user.is_authenticated: article = get_object_or_404(Article,.. 2022. 4. 13.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.12.ํ™” ๋‘ ๋ฌธ์ œ๋Š” ๋น„์Šทํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ํ˜• ๋ฌธ์ œ์ด๋‹ค. ๋ฌธ์ œ๋ฅผ ์ดํ•ดํ•˜๋Š”๋ฐ ์–ด๋ ค์› ์ง€๋งŒ for๋ฌธ์„ ํ†ตํ•ด ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์ด๋‹ค. 2382.๋ฏธ์ƒ๋ฌผ ๊ฒฉ๋ฆฌ https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV597vbqAH0DFAVl SW Expert Academy SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”! swexpertacademy.com T = int(input()) for tc in range(1,T+1): N,M,K = map(int,input().split()) #์…€์˜๊ฐœ์ˆ˜,๊ฒฉ๋ฆฌ์‹œ๊ฐ„,๊ตฐ์ง‘๊ฐœ์ˆ˜ arr = [list(map(int,input().split())) for _ in range(K)] #.. 2022. 4. 12.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.11.์›” ์˜ค๋Š˜์€ ์žฅ๊ณ  ์•ฑ์„ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค์–ด ๋กœ๊ทธ์ธ, ๋กœ๊ทธ์•„์›ƒ, ๊ณ„์ • ์ˆ˜์ • ๋ฐ ์‚ญ์ œ, ๊ณ„์ • ํšŒ์›๊ฐ€์ž… ์ •๋ณด ๋“ฑ๋ก์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์› ๋‹ค. ํ‰์†Œ๋ณด๋‹ค ๋น ๋ฅธ ์†๋„๋กœ ๋งŽ์€ ์–‘์„ ๋ฐฐ์›Œ์„œ ์–ด๋ ค์› ๋‹ค. ํŠนํžˆ ํšŒ์›๊ฐ€์ž… ๋ถ€๋ถ„์—์„œ ๊ณ„์† ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋Š”๋ฐ.... if request.user.is_authenticated: ๊ตฌ๋ฌธ์„ ์“ฐ๊ณ  ๋‚˜์„œ ํ•ด๊ฒฐ๋˜์—ˆ๋‹ค. ์™œ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ์ง€๋Š” ์‚ฌ์‹ค ์•„์ง ์ •ํ™•ํ•˜๊ฒŒ ๋ชจ๋ฅด๊ฒ ๋‹ค. ๋‚ด์ผ ์‹ค์Šต์‹œ๊ฐ„์— ๋‹ค์‹œ ๋งŒ๋“ค์–ด๋ณด๋ฉด์„œ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ตํ˜€๋‚˜๊ฐ€์•ผ ๊ฒ ๋‹ค. CRUD์— ๋Œ€ํ•œ ์ •ํ™•ํ•œ ์ดํ•ด๊ฐ€ ์žˆ์–ด์•ผ accounts ์•ฑ์„ ๋‹ค๋ฃจ๋Š”๋ฐ ์ต์ˆ™ํ•  ๊ฑฐ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ์˜ค๋Š˜ ๋งŽ์ด ๋“ค์—ˆ๋‹ค. ๋‚ด์ผ ์‹œํ—˜์ด ๋๋‚˜๊ณ  ๋‚˜๋ฉด ์žฅ๊ณ ๋ฅผ ์ „์ฒด์ ์œผ๋กœ ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ ๊ธˆ์š”์ผ ํ”„๋กœ์ ํŠธ๋•Œ ์‹œ๊ฐ„์•ˆ์— ํ•ด๋‚ด์•ผ๊ฒ ๋‹ค. @require_http_methods(['GET', 'PO.. 2022. 4. 11.
๐“๐จ๐๐š๐ฒ ๐ˆ ๐‹๐ž๐š๐ซ๐ง 2022.04.08.๊ธˆ Today I Learn 220408 ์˜ค๋Š˜์€ Django CRUD๋ฅผ ํ™œ์šฉํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ–ˆ๋‹ค. ์ด์ „์— ํ–ˆ๋˜๊ฒƒ์—์„œ develop๋œ ํ”„๋กœ์ ํŠธ์˜€๋‹ค. ๊ทธ ์ค‘ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ ์ด์ „์—๋Š” html์„ ์ด์šฉํ•ด ๊ตฌํ˜„ํ•ด๋ƒˆ๋‹ค๋ฉด, ์ด๋ฒˆ์—๋Š” Django ModelForm์„ ํ™œ์šฉํ•˜์—ฌ ๋” ๊น”๋”ํ•œ ํ˜•ํƒœ๋ฅผ ์ถœ๋ ฅํ•ด๋ƒˆ๋‹ค. ๋˜ํ•œ bootstrap5๋ฅผ ํ™œ์šฉํ•ด ๋” ์™„์„ฑ๋„ ์žˆ๋Š” ํŽ˜์ด์ง€๋ฅผ ๊ตฌํ˜„ํ•ด ๋ƒˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ์–ด๋ ค์› ๋˜ ์  ๋ช…์„ธ์„œ์— ์žˆ๋Š”๋Œ€๋กœ forms.py์˜ class์•ˆ์— ํ•„๋“œ๋ฅผ ์„ค์ •ํ•˜๋Š”๊ฒŒ ์‚ด์ง ๊นŒ๋‹ค๋กœ์› ๋‹ค. ์ด์ „์— ์‹ค์Šตํ–ˆ๋˜ ๊ฒƒ๊ณผ ๋‹ค๋ฅธ widget์„ ์‚ฌ์šฉํ•˜๋‹ˆ ์•ฝ๊ฐ„ ์–ด๋ ค์›€์ด ์ปธ์—ˆ๋‹ค. from django import forms from .models import Article class ArticleForm(forms.ModelForm): c.. 2022. 4. 8.