๐๐จ๐๐๐ฒ ๐ ๐๐๐๐ซ๐ง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. ์ด์ 1 2 3 4 ๋ค์