Django登录验证
2017-09-09 10:51
344 查看
装饰器:
登录时会设置一个键为uname的COOKIE,所以在进入某些页面前用此装饰器判断用户是否登录,如果已经登录,则返回该页面的view层方法,正常跳转。如果用户未登录则记录下用户浏览的完整URL,在登录成功后跳转到用户刚才浏览的URL
def login(func): def wrapper(request, *args, **kw): if 'uname' not in request.COOKIES: response = redirect('login') response.set_cookie('url', request.get_full_path()) #记录用户浏览的URL return response else: return func(request, *args, **kw) return wrapper
登录时会设置一个键为uname的COOKIE,所以在进入某些页面前用此装饰器判断用户是否登录,如果已经登录,则返回该页面的view层方法,正常跳转。如果用户未登录则记录下用户浏览的完整URL,在登录成功后跳转到用户刚才浏览的URL
def login(request): if request.method == 'GET': return render(request, 'login.html', {}) if request.method == 'POST': username = request.POST['username'] password = request.POST['pwd'] count = UserInfo.objects.filter(username=username).count() if count == 0: return redirect(to='login') else: user = UserInfo.objects.get(username=username) if user.password == password: url = request.COOKIES.get('url', '/index')#如果'url'存在返回url,否则跳转index response = redirect(to=url) response.set_cookie('uname', username, max_age=3600) return response else: return redirect(to='login')
相关文章推荐
- django项目开发模拟auth的做一个登录验证(一)
- Django学习笔记4 用户注册和身份验证、登录、注销、注册
- django项目开发模拟auth的做一个登录验证(二)
- 关于Django的验证用户名密码登录
- django 实现未经登录验证的url过滤
- Django自定义User模型和登录验证
- 03 .29Django注册、 验证、登录
- django 注册、登录及第三方接口程序(3):验证之正则表达式
- python django 用户注册验证登录。。。
- 07+. Django用户登录验证系统和登录注销
- Django框架下使用ajax模拟用户登录验证
- django -- 登录验证
- Django 登录验证
- Django学习系列之重写User模型和登录验证
- django 内置验证登录模块(auth login logout authenticate)测试
- django 中验证码登录验证的实现
- django 用户登录及验证
- Django(5) session登录注销、csrf及中间件自定义、django Form表单验证(非常好用)
- django 自定义登录验证逻辑
- 基于控制权限和登录验证跳转的django登录界面的实现