View

OneDayDev·2023년 12월 28일
0

Django

목록 보기
12/14

Generic

주의할 점

class 형 뷰에서 reverse 함수를 사용할 때 발생하는 에러는 주로 뷰 클래스가 로딩될 때 URL 패턴이 아직 해결되지 않아서 발생하는 경우입니다. 클래스가 정의되는 시점에서는 URL 패턴이 해결되지 않아서 reverse 함수를 사용할 때 에러가 발생할 수 있습니다.

반면에 reverse_lazy는 지연 실행되어 필요한 시점에 URL 패턴을 해결하므로 클래스가 정의되는 시점에서는 문제가 되지 않습니다. 이로 인해 클래스 속성에서 안전하게 사용할 수 있습니다.

따라서 클래스 형 뷰에서 reverse 함수를 사용할 때는 보통 reverse_lazy를 사용하는 것이 좋습니다. 만약 함수를 사용해야 하는 경우라면, 뷰가 로딩된 시점에 URL 패턴이 이미 등록되어 있는지 확인하고, 그렇지 않다면 reverse_lazy를 사용하거나, URL 패턴이 이미 등록된 시점에만 reverse를 호출하도록 주의해야 합니다.

profile
안녕하세요.

0개의 댓글