안녕하세요
147
작성한 질문수 7
def test_post_detail(self):
''''''''''
self.assertIn(category_politics.name, main_div.text)
>> 여기에서 category_politics라고만 하면 왜 안될까요?
create_tag() 할때 Tag모델 가져오는데, 해당 모델에 아래와 같이
name으로 객체를 표현하는 함수가 있더라구요.
def __str__(self):
return self.name
그렇다면 category_politics만 해도 name이 호출되야 할텐데
그게 아니라서 질문드립니다
답변 1
0
이 내용은 클래스, 인스턴스에 대한 공부가 약간 필요할 것 같습니다.
category_politics 는 Category 클래스(장고에서는 모델로 부릅니다.)의 인스턴스입니다. category_politics의 자료형은 Category이죠.
그리고 main_div.text의 자료형은 str(텍스트) 입니다.
따라서 자료형이 다르므로 assertEqual로 비교하면 다르다는 결과가 나오는 것이죠.
물론 template(HTML 파일)에서 { category_politics } 라고 쓰면 category_politics의 name이 출력됩니다. template에서 category_politics라고 쓴다면 string 형태로 HTML 파일에 박아야 하므로 __str__ 함수를 이용하게 되죠. 그러나 파이썬 안에서는 다릅니다. 파이썬 안에서 category_politics 인스턴스를 강제로 str(텍스트) 형태로 바꿔주고 싶다면, str(category_politics)라고 써줘야 합니다.
후속 강의
0
390
1
완성했습니다. 감사합니다
0
321
2
오늘 vps 에 domain 을 지정해주고 아직 활성화되지 않았는데
0
299
1
test 결과 두 가지 error 가 발생했습니다. 뭐가 잘못된 건지 도저히 모르겠습니다.
0
421
1
accounts/login 이 존재하지 않는다고 나옵니다
0
269
2
코드 질문입니다
0
248
1
포스트에 markdown을 사용해서 이미지를 추가할때
0
311
1
New Post 관련 질문드립니다.
0
179
1
이번 영상부터 각 포스트에 프리뷰 사진이 달라지셔서 질문 드립니다.
0
336
1
base 작업한 후 Category가 블로그 하단으로 내려갔습니다.
0
254
1
혹시 소스코드 전체가 담긴 주소를 좀 알 수 있을까요?
0
265
1
9분 경 테스트에서 Assretion Error가 발생합니다.
0
235
1
파이참 초기 설치 후 설정 관련해서 git에 항상 add되는 옵션을 체크했습니다.
0
346
3
F12를 눌러 console 창에서 오류를 확인할때 몇번째 줄인지 나오지 않습니다.
0
396
1
post view도 delete하려는데 막혀서 ㅠㅠ
0
197
1
"GET / HTTP/1.1" 400 143 그리고 "GET / HTTP/1.1" 404 2031
0
3304
3
연결이 안됩니다
0
506
8
서버에 연결하고 나면 그 후에 Cmder가 작동이 안되요
0
378
2
서버에 배포후 어드민계정
0
590
2
안녕하세요! 실서버에 올린 sqlite3의 데이터를 직접 확인하려면 어찌하나요?
0
2039
3
gitignore안먹히는현상
0
292
1
cmder 종료시 서버도 같이 종료됩니다.
0
220
1
' python manage.py makemigration blog ' 명령어 에러
0
588
2
python manage.py makemigrations 를 했을 때 오류가 납니다.
0
560
2





