django写用户登录判定并跳转制定页面的实例


Posted in Python onAugust 21, 2019

1. 首先看要设置登陆的界面 book/view.py

@user_util.my_login #相当于 select_all=my_login(select_all)
def select_all(request):
 # 查询所有的书
 book_list = BookInfo.objects.all()
 # 返回
 return render(request, 'book/book_list.html', {'book_list': book_list})


@user_util.my_login #相当于 select_by_id=my_login(select_by_id)
def select_by_id(request,book_id):
 bookinfo=BookInfo.objects.get(id=book_id)
 return render(request,'book/book_detail.html',{'bookinfo':bookinfo})

@user_util.my_login 是在utils/user_utils.py里面写的装饰器

使用session判定是否登录:login_user_id = args[0].session.get(‘login_user_id')

#登陆用的装饰器

def my_login(func):
 def inner(*args,**kwargs):
  login_user_id = args[0].session.get('login_user_id')
  if login_user_id:
   return func(*args,**kwargs)
  else:
   return redirect(reverse('user:login'))
 return inner

2. 设置登录模块的界面

设置session键值对进行存储: request.session[‘login_user_id']=user[0].id

def login(request):
 #获取cookie
 remember_user_name=request.COOKIES.get('remember_user_name','')
 return render(request, "user/login.html",{'remember_user_name':remember_user_name})


def login_handler(request):
 # 判断请求方式
 if request.method == "GET":
  request_info = request.GET
 else:
  request_info = request.POST

 # 获取属性
 user_name = request_info.get("user_name",'').strip()
 user_pwd = request_info.get("user_pwd",'').strip()
 remember = request_info.get("remember")
 user_pwd = my_md5(user_pwd)
 user=User.objects.filter(name=user_name, pwd=user_pwd)
 #print(user[0].id)

 # 查询
 if len(user) != 0:
  #将登陆信息保存到session
  request.session['login_user_id']=user[0].id
  resp=HttpResponseRedirect(reverse("book:index"))
  #记住用户名
  if remember=='1':
   resp.set_cookie('remember_user_name',user_name,3600*24*7)
  else:
   resp.set_cookie('remember_user_name',user_name,0)
  return resp


  # 转发
  #return book_views.index(request)
  # 重定向
  #return HttpResponseRedirect(reverse("book:index"))

 else:

  return HttpResponseRedirect(reverse("user:login"))

以上这篇django写用户登录判定并跳转制定页面的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
ptyhon实现sitemap生成示例
Mar 30 Python
python调用短信猫控件实现发短信功能实例
Jul 04 Python
Python中apply函数的用法实例教程
Jul 31 Python
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
Aug 25 Python
Python实现简单截取中文字符串的方法
Jun 15 Python
linecache模块加载和缓存文件内容详解
Jan 11 Python
Python实现PS滤镜碎片特效功能示例
Jan 24 Python
Python pyinotify日志监控系统处理日志的方法
Mar 08 Python
Python 实现网页自动截图的示例讲解
May 17 Python
python实现飞机大战游戏
Oct 26 Python
Django 路由层URLconf的实现
Dec 30 Python
Python进程间通信multiprocess代码实例
Mar 18 Python
Django自定义模板过滤器和标签的实现方法
Aug 21 #Python
扩展Django admin的list_filter()可使用范围方法
Aug 21 #Python
python机器学习包mlxtend的安装和配置详解
Aug 21 #Python
python 画出使用分类器得到的决策边界
Aug 21 #Python
Django url,从一个页面调到另个页面的方法
Aug 21 #Python
python requests更换代理适用于IP频率限制的方法
Aug 21 #Python
docker django无法访问redis容器的解决方法
Aug 21 #Python
You might like
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
php Xdebug的安装与使用详解
2013/06/20 PHP
jquery实现的超出屏幕时把固定层变为定位层的代码
2010/02/23 Javascript
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
在VS2008中使用jQuery智能感应的方法
2010/12/30 Javascript
JavaScript+CSS控制打印格式示例介绍
2014/01/07 Javascript
js控制input框只读实现示例
2014/01/20 Javascript
JavaScript中isPrototypeOf函数作用和使用实例
2015/06/01 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
JS+CSS实现的经典tab选项卡效果代码
2015/09/16 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
2016/05/05 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
详解在Vue中如何使用axios跨域访问数据
2017/07/07 Javascript
AngularJs导出数据到Excel的示例代码
2017/08/11 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
webpack+vue-cil中proxyTable处理跨域的方法
2018/07/20 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
微信小程序如何刷新当前界面的实现方法
2019/06/07 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
Python安装pycurl失败的解决方法
2018/10/15 Python
Python定义函数时参数有默认值问题解决
2019/12/19 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
交通事故检查书范文
2014/01/30 职场文书
中学生期末评语
2014/02/03 职场文书
《珍珠泉》教学反思
2014/02/20 职场文书
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
物流管理专业毕业生求职信
2014/03/23 职场文书
信息工作经验交流材料
2014/05/28 职场文书
总经理人事任命书
2014/06/05 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
银行贷款收入证明
2014/10/17 职场文书
高中生毕业评语
2014/12/30 职场文书
个人工作年终总结
2015/03/09 职场文书
离职信范文
2015/06/23 职场文书