📅  最后修改于: 2023-12-03 14:44:03.770000             🧑  作者: Mango
在Django中,我们可以使用LoginRequiredMixin mixin来限制某些视图只能被已登录的用户访问。这对于需要身份验证的应用程序非常有用。如果用户未经身份验证尝试访问被此mixin保护的视图,则此mixin会重定向到/accounts/login/
。
要使用LoginRequiredMixin,您可以按照以下步骤操作:
1.导入mixin:
from django.contrib.auth.mixins import LoginRequiredMixin
2.将mixin添加到视图类:
class MyView(LoginRequiredMixin, View):
login_url = '/accounts/login/'
# 其他视图设置 - 例如template_name, queryset
该login_url
属性指定重定向的URL,以便用户进行身份验证。默认情况下,此属性设置为'/accounts/login/'。您还可以指定一些其他属性,例如template_name,queryset等。
3.使用视图:
urlpatterns = [
path('myview/', MyView.as_view(), name='my-view'),
]
@login_required
从django.contrib.auth.decorators中进行身份验证。LoginRequiredMixin mixin可以方便地限制只有已登录用户才能访问的视图。在Django中,它是一种非常有用的身份验证方式。