UpdateView - 포스트 수정 페이지 만들기 에서 질문이 있습니다.
26:27초 쯤에 tests.py의 test_update_post() 함수에서 카테고리의 pk를 적어줘야하는지 이해가 잘 되지 않습니다.
앞서 setUp() 함수에서 post_001과 post_002를 생성할 때는 category를 입력할 때 pk는 사용하지 않고 진행했습니다.
하지만 왜 포스트 수정을 핱때는 category를 입력할 때 pk를 사용해야 하는지 잘 모르겠습니다.
回答 1
0
안녕하세요. 예리한 질문입니다!
setUp에서 create로 생성할 때와 self.client.post로 생성할 때는 그 의미가 다릅니다.
우선 setUp에서 모델명.objects.create를 사용할 때는 장고 파이썬을 이용해 생성하는 방법입니다. create함수가 그렇게 사용할 수 있도록 정의되어 있기 때문에 pk가 아니라 실제 파이썬 인스턴스를 넣어주게 되어 있습니다.
그러나 self.client.post에서 self.client는 는 from django.test import Client로 정의된 요소입니다. 가상의 브라우저라고 생각하시면 됩니다. 브라우저에서 서버와 통신하는 방식은 get방식과 post 방식이 있고, 그 중 post 방식으로 정보를 브라우저에서 전달하는 상황입니다. 이때 self.client (브라우저라고 생각하면 됨)에서 갖고 있을 수 있는 정보는 해당 카테고리의 pk 밖에 없으므로 그걸 전달할 수밖에 없습니다.
혹시 설명이 너무 어렵다면 알려주세요!
로그인 오류
0
74
2
docker-compose down 안되는 현상
0
182
2
url pattern관련 문의
0
186
2
오류
0
240
1
doitdjango 블로그 게시판 작동 오류
1
288
1
구글 로그인 오류 .
0
451
2
makemigrations 을 했는데 aws lightsail에서
0
198
1
안녕하세요 강사님,
0
395
2
맥북 프로 14 가상화 확인
0
423
2
테스트 코드 오류
0
380
2
섹션 6-2 알림 내용 중 링크가 잘못되어 있네요.
0
273
2
장고 개발 준비.
0
400
2
Mac
0
318
1
TDD 통과 했지만, 실제 웹에서 작동하지 않습니다.
0
369
1
summernote를 적용하고 이미지를 업로그하면 모바일에서 볼때는 이미지가 크게 나오는데 어떻게 해야 되나요?
0
908
2
python manage.py test 를 돌리면 allauth.socialaccount.models.SocialApp.DoesNotExist 에러가 뜹니다.
1
1691
2
self.client.post에 글이 생성되지않습니다
0
331
1
Nginx 설정 이후 개발용 도커 컨테이너 실행
0
548
1
from .models import Question
0
1211
1
파이참 장고 인식 불가 문제
0
1001
2
배포용 도커 컨테이너 실행이 안됩니다
0
715
1
docker-compose exec web manage.py migrate
0
549
1
search_info가 안나옵니다..
0
357
2
docker-compose build가 안돼요
0
1575
1

