我正在使用django的最新版本,并且我想使用内置系统创建一个登录注销页面。但这在我尝试运行服务器时出现错误。
下面是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%}
答案 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'),
]