django 项目登录访问限制 @login_required

在网站开发过程中,经常会遇到这样的需求:

1、用户登陆系统才可以访问某些页面;

2、如果用户没有登陆而直接访问就会跳转到登陆界面;

3、用户在跳转的登陆界面中完成登陆后,自动访问跳转到之前访问的地址。

要实现这样的需求其实很简单:就是使用@login_required标签。在想相应的view方法的前面添加@login_required标签,并在settings.py中配置LGOIN_URL参数(即登陆url)。具体代码如下:

views.py

直接在当前页面展示数据的函数中,加上@login_required就可以了

from django.contrib.auth.decorators import login_required 
@login_required
    def list_view(request):
        zhibo_list = CreativeZhibo.objects.filter(is_delete=0).order_by('-create_time') # 把没有删除的数据按照时间顺序展示出来
        '''这个是为了搜索框里是否有关键字,如果搜索框有值传过来的话,就根据值查出相匹配的,目前只以素材名称为匹配条件'''
        if request.method == 'POST':
            keyword = request.POST.get('keyword', '')
            zhibo_list = zhibo_list.filter(name__contains=keyword)
        pagination = list_page(request,list=zhibo_list,display=10,after_range_num=3,bevor_range_num=2)
        content = {
            'active_menu' : '素材中心',
            'zhibo_list': pagination,
            # 'page_range': page_range,
        }
        return render(request,'creative/materialCenter.html',content)

settings.py

LOGIN_URL = '/login/'  #这个路径需要根据你网站的实际登陆地址来设置

 

转载于:https://my.oschina.net/zhangyangyang/blog/735037

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值