首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复用户‘NoReverseMatch’不是已注册的命名空间

如何修复用户‘NoReverseMatch’不是已注册的命名空间
EN

Stack Overflow用户
提问于 2019-05-02 06:20:07
回答 1查看 574关注 0票数 0

我正在设置一个网站,并想使一个用户登录页面。但是当我在登录页面上时,我总是会看到"NoReverseMatch at /users/ login / and 'user‘is not a registered namespace“。

url.py

代码语言:javascript
复制
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

代码语言:javascript
复制
{% 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

代码语言:javascript
复制
<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 %}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-02 06:23:31

您将app_name='users‘命名为’users‘,并且在模板中调用了'user’。这就是你得到它的原因。此外,您的模板上有一个打开但未关闭的单引号。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55943431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档