是否可以在不编写自己的模板的情况下实现 django 登录身份验证?

Is it possible to implement django login-authentication with out writing my own template?

我的项目urls.py:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url('^', include('django.contrib.auth.urls')),
]

而且,我的应用 url 是:

from django.conf.urls import include, url


urlpatterns = [
    url(r'^login/$', django.contrib.auth.views.login, {'template_name': 'login.html'}, name='login'),
    url(r'^logout/$', django.contrib.auth.views.logout, {'template_name': 'logout.html'}, name='logout'),
]

我正在学习 Django 身份验证。在阅读了一些文档之后,我制作了一个示例应用程序并尝试在其上实现 django 身份验证系统。

这些内置视图是否有任何内置的 django 模板。我在没有编写自己的模板的情况下尝试过,但它抛出异常。当我添加我的登录模板时,它工作正常。

是否可以在不编写我自己的 'login.html' 模板的情况下实现 django 身份验证? django 真的有内置的吗?如果是,那么如何将其包含在我的应用程序中?

谢谢!提前

不,Django 没有附带登录模板。来自 authentication docs:

It’s your responsibility to provide the html for the login template, called registration/login.html by default.

如果 Django 带有登录模板,它可能看起来很简单。 Django 不知道模板结构,因此无法从您的基本模板继承。所以大多数人最终都会创建一个自定义登录模板。但是,如果 Django 包含一个模板,无论它看起来多么基本,对于新用户来说都会更容易。

请注意,authentication docs 包含一个您可以使用的示例模板。

顺便说一句,您应该包含 'django.contrib.auth.urls',或者将用于登录和注销的条目添加到您的应用程序的网址(这允许您覆盖模板名称)。你不需要两者都做。