django.contrib.auth.views LoginView和LogoutView不起作用

时间:2020-01-06 06:33:44

标签: python django

我正在使用django的最新版本,并且我想使用内置系统创建一个登录注销页面。但这在我尝试运行服务器时出现错误。

This is the image of all the errors shown

下面是urls.py代码。

从django.contrib导入管理员

from django.urls import path
from django.conf.urls import url, include
from django.contrib.auth import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('blog_app.urls')),
    path('accounts/login/', views.LoginView.as_view(template_name='registration/login.html')),
    path('accounts/logout/',views.LogoutView.as_view(),name='logout',kwargs={'next_page':'/'}),
]

下面是blog_app / urls.py代码

from django.conf.urls import url
from blog_app import views

URL_PATTERNS = [
    url(r'^$', views.PostListView.as_view(),name='post_list'),
    url(r'^about/$', views.AboutView.as_view(),name='about'),
    url(r'^post/(?P<pk>\d+)$', views.PostDetailView.as_view(),name='post_detail'),
    url(r'^post/new/$', views.CreatePostView.as_view(),name='new_post'),
    url(r'^post/(?P<pk>\d+)/edit/$', views.UpdatePostView.as_view(),name='edit_post'),
    url(r'^drafts/$', views.DraftListView.as_view(),name='draft_post_list'),
    url(r'^post/(?P<pk>\d+)/remove/$', views.DeletePostView.as_view(),name='delete_post'),
    url(r'^post/(?P<pk>\d+)/publish/$', views.post_publish, name='post_publish'),
    url(r'^post/(?P<pk>\d+)/comment/$', views.add_comment_to_post, name='add_comment_to_post'),
    url(r'^comment/(?P<pk>\d+)/approve/$', views.comment_approve, name='comment_approve'),
    url(r'^comment/(?P<pk>\d+)/remove/$', views.comment_remove, name='comment_remove'),
]

下面是login.html代码

{% extends 'blog_app/base.html' %}

{%block body_block%}
  <div class="jumbotron">
    <h2>PLEASE LOGIN:</h2>
    {% if forms.errors %}
      <p>Username and Password didn't match. Please try again!</p>
    {%endif%}

    <form method="POST" action="{%url 'login' %}">
      {%csrf_token%}
        {{form.as_p}}

        <input type="submit" class='btn btn-primary' value="Login">
        <input type="hidden" name="next" value="{{ next }}">
    </form>
  </div>
{%endblock%}

1 个答案:

答案 0 :(得分:1)

blog_app / urls.py 代码

    from django.conf.urls import url
    from blog_app import views

    urlpatterns = [
        url(r'^$', views.PostListView.as_view(),name='post_list'),
        url(r'^about/$', views.AboutView.as_view(),name='about'),
        url(r'^post/(?P<pk>\d+)$', views.PostDetailView.as_view(),name='post_detail'),
        url(r'^post/new/$', views.CreatePostView.as_view(),name='new_post'),
        url(r'^post/(?P<pk>\d+)/edit/$', views.UpdatePostView.as_view(),name='edit_post'),
        url(r'^drafts/$', views.DraftListView.as_view(),name='draft_post_list'),
        url(r'^post/(?P<pk>\d+)/remove/$', views.DeletePostView.as_view(),name='delete_post'),
        url(r'^post/(?P<pk>\d+)/publish/$', views.post_publish, name='post_publish'),
        url(r'^post/(?P<pk>\d+)/comment/$', views.add_comment_to_post, name='add_comment_to_post'),
        url(r'^comment/(?P<pk>\d+)/approve/$', views.comment_approve, name='comment_approve'),
        url(r'^comment/(?P<pk>\d+)/remove/$', views.comment_remove, name='comment_remove'),
    ]
相关问题