在web开发中经常会用到判断用户是否登录,未登录返回登录页面
1.自定义判断用户是否登录的装饰器
def had_login(views):
'''
登录情况可以执行视图
'''
def warpper(request,*args,**kwargs):
#判断当前用户是否登陆
if request.session.get('user_id'):
return views(request,*args,**kwargs)
else:
return redirect('/login/')
return warpper
2.装饰器用法
@had_login
def index(request):
if request.method=='POST':
del request.session['user_id']
return redirect('/login/')
return render(request,'index.html')