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 相关文章推荐
TensorFlow 实战之实现卷积神经网络的实例讲解
Feb 26 Python
Pandas之drop_duplicates:去除重复项方法
Apr 18 Python
python实现函数极小值
Jul 10 Python
python Pillow图像处理方法汇总
Oct 16 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
Python 识别12306图片验证码物品的实现示例
Jan 20 Python
解决flask接口返回的内容中文乱码的问题
Apr 03 Python
Keras设置以及获取权重的实现
Jun 19 Python
keras和tensorflow使用fit_generator 批次训练操作
Jul 03 Python
关于python tushare Tkinter构建的简单股票可视化查询系统(Beta v0.13)
Oct 19 Python
python飞机大战游戏实例讲解
Dec 04 Python
用python查找统一局域网下ip对应的mac地址
Jan 13 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
兼容性最强的PHP生成缩略图的函数代码(修改版)
2011/01/18 PHP
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
js输入框邮箱自动提示功能代码实现
2013/12/10 Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
2014/01/10 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
js+html5实现canvas绘制简单矩形的方法
2015/06/05 Javascript
js + css实现标签内容切换功能(实例讲解)
2017/10/09 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
React Router V4使用指南(精讲)
2018/09/17 Javascript
iview在vue-cli3如何按需加载的方法
2018/10/31 Javascript
vue基于v-charts封装双向条形图的实现代码
2019/12/09 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
Vue项目打包压缩的实现(让页面更快响应)
2020/03/10 Javascript
python类的继承实例详解
2017/03/30 Python
python使用socket创建tcp服务器和客户端
2018/04/12 Python
Python 字符串与数字输出方法
2018/07/16 Python
解决python彩色螺旋线绘制引发的问题
2019/11/23 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
python numpy 反转 reverse示例
2019/12/04 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
Python+OpenCV图像处理——实现轮廓发现
2020/10/23 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
如何通过jdbc调用存储过程
2012/04/19 面试题
文员个人求职自荐信
2013/09/21 职场文书
检举信的格式及范文
2014/04/04 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
硕士学位论文评语
2014/12/31 职场文书
事业单位聘任报告
2015/03/02 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
合理化建议书范文
2015/09/14 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS