본문 바로가기
코딩 연습/코딩배우기

NoReverseMatch ~ 파이썬 장고(django) 에러

by good4me 2021. 8. 2.

goodthings4me.tistory.com

 

NoReverseMatch ~ 파이썬 장고(django) 에러

파이썬 장고(django)를 사용하여 연습으로 사이트 하나 구축하는 중에 로그인 구현 후 테스트 중에 다음과 같은 에러 메시지가 나왔다. 

NoReverseMatch at /accounts/logout/
Reverse for 'login' not found. 'login' is not a valid view function or pattern name.

 

good4me.co.kr

 

base.html

<ul class="nav">
    <li class="nav-item"><a class="active nav-link" href="/">Home</a></li>
    {% if user.is_authenticated %}
    <li class="nav-item"><a class="nav-link" href="#">환영합니다. <b>{{ user.get_username }}</b>님</a></li>
    <li class="nav-item"><a class="nav-link" href="{% url 'account:logout' %}">Logout</a></li>
    {% else %}
    <li class="nav-item"><a href="{% url 'account:login' %}" class="nav-link">Login</a></li>

 

logout.html

{% extends 'base.html' %}

{% block content %}

  <div class="row">
    <div class="col-md-2"></div>
    <div class="col-md-8 panel panel-default">
        <div class="alert alert-info"><h5>You have been successfully logged out.</h5></div>
        <a class="btn btn-primary" href="{% url 'login' %}">로그인</a>
    </div>
    <div class="col-md-2"></div>
  </div>
{% endblock %}

 

 

에러 원인은

logout.html에서 url 템플릿 태그에 app_name을 제대로 안해서 발생함

<a class="btn btn-primary" href="{% url 'login' %}">로그인</a>

<a class="btn btn-primary" href="{% url 'account:login' %}">로그인</a>

 

에러 메시지를 보고 바로 원인을 판단할 수 있을 정도의 실력은 언제 쌓을지....

 

 

[django] 파이썬 Django(장고) 템플릿 문법

 

 

Being a web framework, Django needs a convenient way to generate HTML dynamically.
The Django template language is Django’s own template system.

 

댓글