본문 바로가기
프로그래밍/Django(장고)

[장고 / python / Django]django.template.exceptions.TemplateSyntaxError: Could not parse the remainder: error - Solved

by Mr.noobiest 2024. 3. 18.

python 웹 프레임워크 Django(장고)

 

Django TemplateSyntaxError

 


장고는 자체적으로 구문 분석 기능이 있는데 이는 개발자가 작성한 구문이 django에서 사용가능한 구문인지 검증해주는 기능이며, python의 장점인 아무렇게나 작성하는 것을 조금 제한 하긴 하지만 익숙해지면 어느부분이 문제인지 알 수 있어 매우 편리한 기능이다.

 

 


 

Django TemplateSyntaxError 해결방법



Python에서는 맞는 구문이지만 Django에서는 쓸 수 없는 구문이라 생기는 에러이다.

예시를 보면 이해가 쉬울 것이다.

{% if My_model.title|length !=0 %}
	{{My_model.catgory}}
{% endif %}


Error django.template.exceptions.TemplateSyntaxError: 
Could not parse the remainder: '!=0' from '!=0'

이는 My_model이라는 django에서 내가 만든 모델의 "title"의 값을 가져온뒤 해당 값의 길이(len)이 0인지 체크하는 코드다,

만일 0이 아니라면 같은 model의 category의 값을 가져오는 코드인데,,,,,,,

잘보면 !=0부분에서 에러가 발생했다.

 

Django 에서는 ==, !=를 쓸때 양 쪽 사이드에 간격이 있어야 하는데, 만일 간격을 주지 않을 경우 발생하는 구문 에러인것이다.

따라서 아래처럼 코드를 변경해야 한다.

{% if My_model.title|length != 0 %}

그냥 한칸을 띄운것인데 에러가 없어진다.

 

 

이처럼 해당 에러는 웬만하면 띄어쓰기만 잘하면 된다.

 

 


 

 

다른 에러들 해결

 

 

[python / Django / 장고]models.py에 추가 했는데도 makemigrations에 인식되지 않을때, makemigrations cant detect

Django 모델 추가 장고(django)는 ORM 구성으로 데이터 관리가 가능하다, ORM은 기존 쿼리문(SQL Query)문을 간단하게 만들어 보기에도 좋고 수정하기에도 좋게 만들어놓은 django에서 제공하는 기능이다.

mrnoobiest.tistory.com

 

 

끝.

728x90
반응형