错误:找不到“登录”。 “登录”不是有效的视图功能或模式名称

时间:2018-08-26 23:14:51

标签: python django url

这是我第一次使用Django登录模板,遇到了问题。它一直说登录不是有效的视图功能,但我在用户应用程序的urls.py中定义了它:

enter image description here

enter image description here

不确定我做错了什么。

主要urls.py

urlpatterns = [
    path('', include('blogging_logs.urls', namespace='blogging_logs')),
    path('users/', include('users.urls', namespace='users')),
    path('admin/', admin.site.urls),
]

应用程序:blogging_logs:base.html

<p>
  <a href="{% url 'blogging_logs:index' %}">Home</a>
  <a href="{% url 'blogging_logs:categories' %}">Categories</a>
  {% if user.is_authenticated %}
    Hello, {{ user.username }}.
    {% else %}
      <a href="{% url 'users:login' %}"> login in</a>
  {% endif %}
</p>

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

应用程序:用户:urls.py

from django.contrib import admin
from django.urls import re_path, path
from django.contrib.auth import authenticate, login
from django.contrib.auth import views as auth_views

app_name = 'users'

urlpatterns = [
    # Login Page
    path('login/', auth_views.LoginView.as_view(template_name='login.html')),
]

应用程序:用户:login.html

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

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

  <form class="" method="post" action="{% url 'users:login' %}" >
    {% csrf_token %}
    {{ form.as_p }}
    <button name='submit'> Login in </button>
    <input type="hidden" name="next" value="{% url 'blogging_logs:index' %}" />
  </form>
{% endblock content %}

1 个答案:

答案 0 :(得分:0)

您缺少path函数的name参数:

更改以下行

path('login/', auth_views.LoginView.as_view(template_name='login.html')),

path('login/', auth_views.LoginView.as_view(template_name='login.html'), name='login'),