Как исправить NoReverseMatch 'user' не зарегистрированное пространство имен - PullRequest
0 голосов
/ 02 мая 2019

Я настраиваю веб-сайт и хочу создать страницу входа пользователя. Но я всегда получаю сообщение «NoReverseMatch в / users / login /, а« user »не является зарегистрированным пространством имен», когда я нахожусь на странице входа в систему.

url.py

from django.urls import path
from django.contrib.auth.views import LoginView

from . import views

app_name ='users'
urlpatterns = [
    path('login/', LoginView.as_view(template_name='users/login.html'),
         name='login'),
]

login.html

{% extends "learning_logs/base.html" %}

{% block content %}

    {% if form.errors %}
        <p.Your username and password didn't match. Please try again.</p>
    {% endif %}

    <form method="post" action="{% url 'user:login' %}
        {% csrf_token %}
        {{ form.as_p }}

        <botton name="sumbit">log in</button>
        <input type="hidden" name="next"
            value="{% url 'learning_logs:index' %}
    </form>

{% endblock content %}

и base.html этот логин простирается от

<p>
  <a href = "{% url 'learning_logs:index' %}">Learning Log </a> -
  <a href = "{% url 'learning_logs:topics' %}">Topics</a> -
  {% if user.is_authenticated %}
    Hello, {{  user.username }}.
  {% else %}
    <a href="{% url 'users:login' %}">log in</a>
  {% endif %}

</p>

{% block content %}{% endblock content %}

1 Ответ

0 голосов
/ 02 мая 2019

Вы назвали свое app_name = 'users', и вы называете 'user' в шаблоне.Вот почему вы получаете это.Также в вашем шаблоне есть открытая, но не закрытая одинарная кавычка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...