django decorator检查用户是否已登录,否则重定向

时间:2013-12-09 15:01:28

标签: django redirect login

if not request.user.is_authenticated():
    return HttpResponseRedirect(reverse('login_user'))

因为我正在做上述事情,在我的大多数观点中,我认为应该有更好的东西,然后将这一块放在我的所有观点中。

现在我发现了一些关于装饰的东西,似乎有点像我想要的那样:

from django.views.decorators.http import require_http_methods

@require_http_methods(["GET", "POST"])
def my_view(request):

现在我想知道这确实是用装饰器来完成的,如果是这样的话我怎么能翻译它以检查用户是否登录并重定向呢?

1 个答案:

答案 0 :(得分:2)

您可以使用内置装饰器:

from django.contrib.auth.decorators import login_required

@login_required
def edit_user_profile(request):
    //some code

django login_required decorator