inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap

Post Detail 개선사항 도출하고 Test 코드 만들기

안녕하세요

147

상빵

작성한 질문수 7

0

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이 호출되야 할텐데
그게 아니라서 질문드립니다

python bootstrap django

답변 1

0

SungYong Lee

이 내용은 클래스, 인스턴스에 대한 공부가 약간 필요할 것 같습니다. 

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