python登陆成功页面跳转_Django未登录跳转登录页面设置

本文介绍了在Django 1.9.*及以上版本中如何实现登录后才能访问特定页面的需求。针对@login_required装饰器的使用问题,提供了三种解决方案:1) 在urls.py和views.py中结合使用;2) 直接在url文件中使用login_required装饰器;3) 使用LoginRequiredMixin。默认登录页面为'/accounts/login/',可通过settings.py修改LOGIN_URL。
摘要由CSDN通过智能技术生成

在Django的实际应用中,我们通常会限制某些页面在登录后方可访问(如个人中心页面),否则就跳转到登录页面先进行登录。

在网上搜索到的直接使用装饰器@login_required放在view上方的做法当前版本(1.9.*以上)并不可用,会报以下错误:

AttributeError: 'function' object has no attribute 'as_view'

那么该如何实现呢?以index页面为例,实现方法有以下几种:

1.url+view文件

#urls.py,以下xxx为书写view的app名称

from xxx.views import IndexView

url(r'^$', IndexView.as_view(), name="index"),

#views.py

from django.contrib.auth.decorators import login_required

from django.utils.decorators import method_decorator

@method_decorator(login_required, name='dispatch')

class IndexView(View):

def get(self, request):

return render(request, 'index.html', {})

2.仅url文件

from django.contrib.auth.decorators import login_required

url(r'^$', login_required(TemplateVi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值