설 연휴 때 장고 책을 보며 템플릿 필터를 만들다 난 에러다. 시도와 해결을 기록하고자 글로 남긴다.
에러가 나기 전에 한 것
1. app directory 아래에 templatetags 폴더 생성
2. 이 폴더 안에 pybo_filter.py 파일 생성
3. 파일 내용은 이 링크를 참고
4. templates/pybo/question_list.html 파일에 만든 파일을 load
5. 이미 돌아가고 있던 서버. 페이지를 새로고침 함
-> {% load pybo_filter %} 라인에서 에러가 발생했다.
시도
1. 서버 끄고 다시 켜기
혹시나 해서 해봤다. 서버를 재시작하니 에러 이름이 바뀌었다.
AttributeError: type object 'Library' has no attribute 'tags'
에러가 발생하는 라인은 {% load pybo_filter %}로 같았다.
2. pybo/templatetags 폴더 안에 __init__.py 추가하기
-> 1번의 에러가 유지되었다.
3. config/settings.py 확인
참고 링크를 보고 INSTALLED_APP에 pybo가 있는지 확인했다. 당연히 있다. 이 직전까진 멀쩡했으니까...
4. config/settings.py에서 TEMPLATES 건드리기
참고 링크를 보고 해봤지만 소용 없었다.
5. 탈자 수정
4번에서 했던 걸 주석처리하고, pybo/templatetags/pybo_filter를 다시 살폈더니
register = template.Library()
여기서 ()가 빠져 있었다. 붙여주니 해결되었다...
결론
탈자가 원인. 오탈자 없는지 꼼꼼히 볼 것.
책에는 안 쓰여있지만, 공식문서에서는 패키지 인식을 위해 __init__.py 파일을 추가하라고 한다.
'Django' 카테고리의 다른 글
DB에 csv로 초기 데이터 넣기 (0) | 2021.02.27 |
---|---|
django.db.utils.IntegrityError: NOT NULL constraint failed (0) | 2021.02.21 |
백엔드 서버 되어보기 (0) | 2021.02.06 |
Django 회원가입, 로그인 엔드포인트 (0) | 2021.01.30 |
django.db.utils.OperationalError: (1054, "Unknown column 'menu_id_id' in 'categories'") (0) | 2021.01.28 |