Study/Django

Django NoReverseMatch at Error

SoShin_ 2021. 12. 12. 16:38
반응형

장고를 공부하던 중 아래와 같은 에러가 떴다. 

NoReverseMatch at /posts/1/
Reverse for 'post-update' with arguments '('',)' not found. 1 pattern(s) tried: ['posts/(?P<post_id>[0-9]+)/eidt/$']

 

처음엔 이게 뭐지 싶었지만 잘 읽어보니 'post-update' 뒤에 인자를 하나 찾을 수 없다고 하는 에러였다.

즉 원래 url은 'posts/<int:post_id>/edit/' 에 name='post-update' 옵션을 줘서 사용을 하고 있었는데 템플릿에 추가를 하며 사용하는 과정에서

<a href={% url 'post-update' %}>수정하기</a></div>

위처럼 뒤에 id 값을 안 넣어주고 작동을 시켜 뒤에 인자가 없다고 에러가 뜬 것이었다.

<a href={% url 'post-update' post.id %}>수정하기</a></div>

위와 같이 올바른 인자를 뒤에 넣어주니 올바르게 작동했다!

항상 미리 정해놓은 url 형식을 빠르게 넣는다고 넘기지 말고 올바르게 입력해서 다음번엔 오류를 일으키지 않도록 조심해야겠다.

 

참고: 장고 공식 문서

반응형