from django.conf.urls import patterns, include, url
from django.contrib import admin
from django.contrib.auth.views import login
admin.autodiscover()
urlpatterns = patterns(
'',
url(r'^', include('core.urls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^login/$', login, {'template_name': 'admin/login.html'})
# I didn't create this 'admin/login.html' template
# Django will use the one from the admin application ;-)
)
非工作人员无法通过“管理”视图登录,因此您不能
但是,有一个Django视图可以完全满足您的需要:
django.contrib.auth.views.login
您可以轻松地将其添加到您的
urlconf
:查看文档以了解如何自定义其行为:https://docs.djangoproject.com/en/dev/topics/auth/#limiting-access-to-logged-in-users
您只需要为视图定义一个模板即可使用,默认情况下,该模板应该位于
registration/login.html
,但可以重写。更新
1)对于django 1.11+更好地使用LoginView(即
from django.contrib.auth.views import LoginView
),因为login
代码实际上使用了LoginView,而login
的代码甚至有一条警告消息:2)您可能需要更改管理员登录页面的默认页眉。这可以通过在上下文中提供
site_header
来实现。所以更新版本如下:
使用Django 1.6,我可以使用Django自己的管理员登录模板进行以下设置。 然后当我打开“/”时,它会将我重定向到登录屏幕,登录后它会将我发送回“/”
设置.py
url.py
核心/url.py
核心/视图/网络视图.py
相关问题 更多 >
编程相关推荐