django写用户登录判定并跳转制定页面的实例
2019-10-17 18:08
1336 查看
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写用户登录判定并跳转制定页面的实例就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- struts2--拦截器(非登录用户不可跳转至该页面)
- ASP.NET用户登录后跳转到 登录前 的页面 url 跳转
- 用户登录成功自动跳转页面
- ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
- js实现未登录用户跳转到登录页面登录完成后返回原页面
- 通过配置http拦截器,来进行ajax请求验证用户登录的页面跳转
- html frameset框架解决用户对象失效时跳转登录页面
- 详解springmvc控制登录用户session失效后跳转登录页面
- django cbv 用户登录判定、URL传值
- YII2中常用的页面跳转,以及获取用户信息和登录信息等信息总结
- 自定义用户登录,会话保持,登录后自动跳转原页面
- 小宗的启示:不同类型的liferay用户登录到不同页面(登录跳转个性化)——liferay5.0.1用户登录后的跳转(二)
- 物流管理系统(七)4实现用户未登录自动跳转到登录页面
- Django auth 登录django admin后台,登陆后页面跳转至/account/profile,修改跳转至其他页面
- 使用filter使session失效的用户,重新跳转到登录页面
- asp.net如何让未登录用户登录后能自动跳转到登录前访问的页面
- ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
- 判断用户是否已登录,未登录用户禁止访问任何页面或action,自动跳转到登录页面
- web 开发,个人中心每个请求,判断用户是否登录,若没有登录,则跳转到登录页面,登录成功后返回之前页面
- 解决用户退出登录不会自动跳转到登录页面的问题