Django 50문답 (21~25)

김하진·2022년 9월 5일
0

21.테스트코드에서 setup 함수와 setupclass의 차이는 무엇입니까?

setup()⇒ 각 테스트 메소드를 호출하기 이전에 호출되는 메소드입니다. 테스트 케이스가 실행될 때 마다 사용됩니다

setUpClass() ⇒ 해당 테스트 클래스가 시작되기 이전 단 한번 호출되는 메소드입니다. setup 메소드는 각 테스트 메소드 이전에 항상 호출 됩니다. 메소드에 @classmethod라는 데코레이터를 달아줘야하고 메소드 인자로 cls를 넘겨줘야합니다.

22.Template Engine을 사용할 때, 발생하는 CSRF Error가 무엇이고 어떻게 해결합니까?

csrf 사이트간 요청 위조이다. 사이트간 유청 위조는 웹사이트 취약점 공격의 하나이다. 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위를 특정 웹사이트에 요청하게 하는 공격을 말한다. Template Engine 을 사용할때는 {% csrf_token %} 을 붙여줘서 해결 할 수 있다.

23. Django ORM에서 queryset과 object의 차이점에 대해서 설명하시오

queryset- querySet은 데이터베이스에서 전달받은 객체들의 list이다.

object - object 는 데이터베이스 에서 전달받은 객체이다.

24.Django ORM에서 정참조와 역참조에 대해서 설명하시오

정참조: 해당 객체가 다른 객체의 ForeignKey를 가지고 있거나 1:1 관계인 상황에서 참조 하는 경우입니다.(내가 참조하는 table접근)

역참조: 다른 객체가 ForeignKey를 가지고 있거나 N:N 관계인 상황, 해당 객체를 참조하고 있는 다른 객체를 참조하려는 경우입니다.(나를 참조하는 table접근)

25.Response 결과와 함께 status code를 반환하는 이유는 무엇입니까?

상태코드는 서버가 요구 메시지를 수신하여 처리한 결과를 알려주는 세자리의 정수로 된 처리 결과 번호입니다. 해당 코드 번호는 API 가이드 라인을 따릅니다. 클라이언트의 요청에 대한 올바른 응답은 서버를 해줘야 합니다. 그렇지 않으면 서버에서 무슨 에러가 났는지, 클라이언트에서 어떠한 에러가 났는지, 파악 할 수 없고 무조건적인 200 ok 는 서비스에 큰 타격을 입힐 수 있습니다.

profile
진킴

0개의 댓글