오늘은 팀 프로젝트 하면서 어려워했던 django에서 템플릿문법을 복습하던 중 한 삽질을 기록하려고 한다.
{% if menu.price < 15000 %}
이것이 바로 문제의 코드.
이걸 vscode에서 보면 <의 색깔이 붉은색이다.
음.. 이게 왜 문제지? 하고 우선 실행해보니 원하는 값이 나오지 않았다.
서치해보니 잘 나오지 않았고 gpt에게 물어보니
GPT : <을 사용할 수 없는 이유는 HTML 태그의 시작을 나타내는 <와 Jinja2 템플릿 엔진에서 사용하는 <를 구분하기 위함입니다.
음.. 그렇구나.. 그럼 어떻게 해결할까..?
{% if menu.price {% raw %}<{% endraw %}15000 %}
이렇게 하랜다. 그래서 했다.
Could not parse the remainder: '{%' from '{%'
오류 뜸.
GPT : 이 오류는 Jinja2 문법 오류입니다. 보통 이 오류는 문법이 올바르지 않거나 닫는 태그가 누락된 경우에 발생합니다.
..너가 알려준건데.. 오키 다른방법은?
{% if menu.price | float < 15000 %}
ㅇㅋㅇㅋ
Could not parse the remainder: '|' from '|'
?
GPT : 아 ㅎ 이거로 해보셈
{% if menu.price < 15000 %}
Could not parse the remainder: '<' from '<'
..사람한테 가볼게
{% if menu.price < 15000 %}
이게 맞았다!
... 이거 처음꺼잖아요?
네 맞습니다. 이 코드는 틀리지 않았습니다.
제가 어리석게도 menu.price 의 벨류 값을 문자열로 해놨기 때문입니다..
그럼에도 불구하고 이렇게 TIL을 쓴 이유