我的项目是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')),
]
并且,我的应用网址是:
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真的有内置的吗?如果是,那么我如何将其包含在我的应用程序中?
谢谢!提前
答案 0 :(得分:1)
不,Django没有登录模板。来自authentication docs:
您有责任为登录模板提供html,默认情况下称为registration / login.html。
如果Django带有登录模板,它可能看起来很基本。 Django不了解模板结构,因此无法从您的基本模板继承。因此,大多数人最终都会创建自定义登录模板。但是,如果Django包含一个模板,那么对于新用户来说会更容易,无论它看起来如何。
请注意,authentication docs包含您可以使用的示例模板。
顺便说一下,您应该包含' django.contrib.auth.urls',或者为您的应用的网址添加登录和退出条目(这样您就可以覆盖模板名称)。你不需要同时做这两件事。