-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
문법 문의 - {% if datas.count() > 0 %}
21.03.18 23:59 작성 조회수 185
1
안녕하세요 남박사님.
list.html 에서 datas를 받고 화면표시하는 부분에서 아래 조건문로 개수를 확인하는 부분에 대해 문의 드립니다.
{% if datas.count() > 0 %}
/* 화면표시 로직 */
{% else %}
<h3>데이터가 없습니다~~</h3>
{% endif %}
if문의 datas.count()는 몽고디비에만 해당하는 문법인가요?
아래 리스트형 데이터(datas)를 화면에 표시하려고, data.count() 를 사용했더니, 문법 오류가 발생하여 datas|length 로 처리하였더니 오류 없이 처리되었습니다.
datas: [{'name': '면도기'}, {'name': '가방'}, {'name': '원피스'}, {'name': '공기청정기'}]
{% if datas|length > 0 %}
<h3>데이터가 있습니다</h3>
{% else %}
<h3>데이터가 없습니다~~</h3>
{% endif %}
몽고의 리턴결과와 리스트형 데이터의 처리문법이 위에 표시한것처럼 다르게되는지 문의 드립니다.
몽고결과의 데이터타입과 리스트형 데이터 타입이 달라서 처리방식이 다른지 답변부탁드립니다.
답변을 작성해보세요.
0
남박사
지식공유자2021.03.27
count() 함수는 몽고DB 의 cursor 객체에서 지원하는 함수기 때문에 if datas.count() 를 사용할 수 있는건 파이썬 코드에서 몽고DB의 커서를 넘겼을때 사용가능합니다. cursor 는 한번 출력되면 재사용이 불가능합니다.
만약 커서객체가 아닌 리스트로 데이터를 넘겼을 경우에는 말씀하신것 처럼 datas|length 로 리스트의 길이를 알아 올 수 있습니다. 리스트는 페이지 내에서 언제든 재사용이 가능합니다.
답변 1