본문 바로가기
개발일지/Django

Django - SyntaxError: invalid syntax - 해결

by 개발에정착하고싶다 2022. 12. 21.
320x100

간만에 SyntaxError를 해결하지 못했었다.

syntax error 메세지는 이러했다.

 File "/Users/daniel_choi/Desktop/total_projects/second_blog/pybo/urls.py", line 27
    path('answer/delete/<int:answer_id>/',

뭐 앞선 문제들도 많았지만 사실상 이게 핵심이라, 이 메세지를 주의 깊게 봈다.

pybo라는 폴더에 속한 urls.py의 27번줄에 문제가 있다는 건데...

 

아무리 봐도 난 잘못한게 없는 듯했다.

보고 또 보다가

# pybo/urls.py

path('answer/delete/<int:answer_id>/',
         views.answer_delete, name='answer_delete')

이 부분을 보고 "아! views에 answer_delete를 정의하지 않았구나!

싶어서 answer_delete를 정의해주고 다시왔다.

하지만 그래도 동일한 에러가 뜨는 거였다.

심지어 pybo/urls.py의 에러가 난 부분 근처를 보게 되면

 

이렇게 보면 정상적으로 작동하는 views는 색상이 오렌지색상인데, 에러가 나는 줄의 views는 파란색이였다.

심지어 .으로 연결되어있는 클래스나 함수에 대한 색상도 정상은 남색인데 반해, 비정상은 빨간색이였다.


#1 의심의 시작

 

아, 혹시 컴마를 안붙여서 그런건가? 생각도 들었지만 그 생각은 접어두었다.

왜냐하면 answer = id 이런식의 변수 지정개념과 같이 생각했기 때문이였다.


#2 결론

 

하지만 결과적으로 내 생각이 잘못된 것이였다. 해당 path들의 컴머는 마치 딕셔너리 내부에서 서로를 구분지어줄때 사용되는 것과

같은 원리로써 작용하는 것인데 내가 전체를 보기보다는 코드가 길어지다보니 부분적으로 지금 눈에 보이는 것만 보고 계속 갈팡질팡 하다가 또 고민하고 찾고 코드 비교하는데 한시간 정도는 사용한것 같다..

 

마냥 따라하기만 하는 것 같으면서도 한편으로는 그러면서도 배워간다는 점이 참 신기한 것 같다.

300x250