-
django mark_safe on photo adminProject using python/Cloning Airbnb 2021. 2. 24. 11:21
admin.py
mark_safe
django는 기본적으로 autoescape가 on으로 활성화되어 있다. autoescape란 .html 파일이 아닌 외부로부터의 코드를 모드 escape화 시키는 것을 말한다. 그래서 <img> 태그를 사용해도 이미지가 display 되지 않고 <img> 글자가 display 된다.
Django가 이러한 설정을 default로 한 이유는 보안 때문이다. 의심하지 않고 어떠한 입력 값이든 받아들이면 XSS 공격에 취약하기 때문이다. 그래서 안전한다고 생각하는 입력 값만 태그로 받아들여야 한다. 이 때 사용하는 것이 mark_safe()다. mark_safe로 감싸진 code는 안전하니 escaped 하지 않아도 된다는 뜻이다.
mark_safe()를 적용하지 않았을 때
mark_safe()를 적용했을 때
참고 자료
- 노마드 코더의 Airbnb 클론 강의
- mark_safe()
소스 코드
github.com/zpskek/airbnb-clone-v3/commit/81dbdb166bf6b33d40cbf20f151fa9bc6c0cba45
'Project using python > Cloning Airbnb' 카테고리의 다른 글
Create List Model and Admin (0) 2021.02.24 django-dotenv (0) 2021.02.24 Create Reservation Model and Admin (0) 2021.02.23 Create Review Model and Admin (0) 2021.02.21 Django TabularInline and StackedInline (0) 2021.02.21