Bra*_*ant 46
是.你可以在这里阅读所有相关内容:https://docs.djangoproject.com/en/1.8/topics/auth/default/#django.contrib.auth.decorators.login_required ...但这里有一些要点:
'django.contrib.auth.middleware.AuthenticationMiddleware'到MIDDLEWARE_CLASSES在settings.py'django.contrib.auth"和'django.contrib.contenttypes'以INSTALLED_APPS中settings.pydjango.contrib.auth.views.login为视图设置登录的URL ,例如url(r'^login/$', 'django.contrib.auth.views.login',name="my_login")views.py ...
from django.contrib.auth.decorators import login_required
@login_required
def home(request):
return HttpResponse('Home Page')
Run Code Online (Sandbox Code Playgroud)
默认情况下,您将模板放入其中my_template_directory/registration/login.html.有关该模板的更多信息可以在本文开头的链接中找到.
mrt*_*rts 32
正如作者的评论中所提到的,最简单的方法是将以下行添加到urls.py:
from django.contrib.auth.views import login, logout
urlpatterns = patterns('',
url(r'^accounts/login/$', login, {'template_name': 'admin/login.html'}),
url(r'^accounts/logout/$', logout),
)
Run Code Online (Sandbox Code Playgroud)
据我所知,除非需要用户配置文件管理,否则不需要添加r'^accounts/$'和r'^accounts/profile/$'URL.
正如意见建议的@mmatt,设置LOGIN_REDIRECT_URL = '/'在settings.py避免默认重定向到/accounts/profile/登录后.请参阅Django设置文档中的LOGIN_REDIRECT_URL.
这应该仍然适用于Django 2.x使用path而不是url适当.
与 mrts 的回答类似,在最近的 Django 中,您可以使用LoginView。您可以通过设置模板背景一样进一步自定义模板title,site_title等等,如用于管理/ base.html文件,这样它看起来并不像一个管理员登录。
from django.contrib.auth.views import LoginView
urlpatterns = [
url(
r'^accounts/login/$',
LoginView.as_view(
template_name='admin/login.html',
extra_context={
'title': 'Login',
'site_title': 'My Site',
'site_header': 'My Site Login'},
name='login'),
]
Run Code Online (Sandbox Code Playgroud)
如果您想快速启动和运行,我建议使用提供的 URLConf。
例如:
urlpatterns = [
url('^', include('django.contrib.auth.urls'))
]
Run Code Online (Sandbox Code Playgroud)
请参阅 django 文档中的更多详细信息:https://docs.djangoproject.com/en/1.8/topics/auth/default/#module-django.contrib.auth.views
| 归档时间: |
|
| 查看次数: |
50503 次 |
| 最近记录: |