django使用session来保存用户登录状态

  1. 先建好登录用的model,其次理解使用cookie和session的原理,一个在本机保存,一个在服务器保存

  • 使用session好处,可以设置登录过期的时间,
  1. 编写views中login的函数

def login(request):
    username_get = request.POST[‘name‘]
    password_get = request.POST[‘password‘]
    b=[]
    a = 0
    b = UserInfo.objects.filter(username=username_get)
    a = len(b)
    if a==0:
        return HttpResponse("0")
    else:
        if request.method == ‘POST‘:
            #return  HttpResponse(result)
            if b[0].password==password_get:
                display =‘none‘
                displaytwo=‘block‘
                username = username_get
                logined = False
                template = get_template(‘one/default.html‘)
                request_context = RequestContext(request)
                request_context.push(locals())
                html = template.render(request_context)
                response = HttpResponse(html)
                try:
                    if username_get:
                        request.session[‘name‘] = username_get #使用session来保存用户登录信息
                        #response.set_cookie(‘name‘,username_get) #使用response(用户自己电脑)保存的cookie来验证用户登录
                    if password_get:
                        request.session[‘password‘] = password_get
                        #response.set_cookie(‘password‘,password_get)
                except:
                    pass
                return response

            else:
                return HttpResponse("0")
  • login主要的用户第一次登录时,需要调用的,包括去POST中的值并验证,同时保存在cookie或session中
  if ‘name‘ in request.session and ‘password‘ in request.session:#判断是否有登录过,并是否有效
        username = request.session[‘name‘]
        d[‘display‘] = ‘none‘
        d[‘displaytwo‘] = ‘block‘
        logined = False#有效就把登录和注册的按钮不显示
    c[‘d‘] = d #c是个字典,
    template = get_template(‘one/default.html‘)
    request_context = RequestContext(request)
    request_context.push(locals())
    html = template.render(request_context)
    return HttpResponse(html)

3. 使用session保存,即使用户在浏览器清除了cookie,重新刷新,登录信息仍然有效

原文地址:https://www.cnblogs.com/guguobao/p/9326012.html

时间: 2024-10-25 04:03:51

django使用session来保存用户登录状态的相关文章

php使用session来保存用户登录信息

php使用session来保存用户登录信息 使用session保存页面登录信息 1.数据库连接配置页面:connectvars.php <?php//数据库的位置define('DB_HOST', 'localhost');//用户名define('DB_USER', 'root');//口令define('DB_PASSWORD', '19900101');//数据库名define('DB_NAME','test') ;?> 2.登录页面:logIn.php <?php//插入连接数据

Asp.Net使用加密cookie代替session验证用户登录状态 源码分享

首先 session 和 cache 拥有各自的优势而存在.  他们的优劣就不在这里讨论了. 本实例仅存储用户id于用户名,对于多级权限的架构,可以自行修改增加权限字段   本实例采用vs2010编写,vb和c#的代码都是经过测试的:一些童鞋说代码有问题的 注意下    什么? 你还在用vs2008 vs2005? 请自行重载 带有 optional 标致的函数   童鞋们提到的 密码修改后 要失效的问题 当时没有想到 个人认为 大致方向可以> >1. 每个用户生成1个xml 里面保存随机的几

关于用户登录状态存session,cookie还是数据库或者memcache的优劣

session中保存登陆状态: 优:整个应用可以从session中获取用户信息,并且查询时很方便.在session中保存用户信息是不可缺少的(web应用中) 缺:session中不宜保存大量信息,会增减内存消耗量 cookie中保存登陆状态: 优:数据保存在客户端,方便用户下次登录.如:”记住我“功能 缺:安全性不高,一般都是讲数据加密后保存在cookie中 memcache应用主要体现在对大量数据的cache,如:将经常用到的数据保存在memcache中,减少对数据库的访问次数,在web应用中

DRF框架之用户登录状态保持

本篇主要介绍 用户状态保持的两种的方案 -- session 和 jwt_token,以及这两种方案的实现方式,及优缺点对比. 引入:HTTP协议是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户名和密码进行用户认证,那么下一次请求时,用户还是要再一次进行用户认证才行. 因为根据HTTP协议的无状态性,在下一次请求时我们并不知道是哪个用户发出的请求,所以为了让我们能识别是哪个用户发送的请求,则必须采取一些特殊的方式,比如 session.jwt_token等. 一.session 根

对SD卡的读写操作-保存用户登录密码

import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import android.content.Context; import android.os.Environment; public class Fileservice { /** * 存储用

如何利用cookie来保存用户登录账号

众所周知,cookie在网页编写中不接或缺,今天就谈谈如何利用cookie技术来保存用户登录账号 1.首先是否保存用户登录账号当然是用户自行决定,所以我们需要在用户登录界面设置一个复选框,以此取得用户意愿信息,以便为下一步操作提供判断依据. require_once 'common.php'; 用户账号:</td><td><input type="text" name="id" value="<?php echo get

Android - 保存用户首次使用状态(SharedPreferences)

保存用户首次使用状态(SharedPreferences) 本文地址: http://blog.csdn.net/caroline_wendy 用户首次登陆时, 可能需要用户教育, 讲解界面操作, 但是不应该在以后的登陆中, 继续显示, 则需要记录用户的登陆状态; 可以使用SharedPreferences进行记录. 在库中, 可以使用封装的PreferenceUtils类库, 使用方法如下: boolean hasShown = PreferenceUtils.get(this, FIRST_

学习记录 java session保存用户登录

1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&g

MVC下用户登录状态校验的问题以及解决方案--------------Action全局过滤器的使用

前言当我们访问某个网站的时候需要检测用户是否已经登录(通过Session是否为null),我们知道在WebForm中可以定义一个BasePage类让他继承System.Web.UI.Page,重写它的OnInit()方法,在OnInit()中判断Session中是否有用户登录的信息 1 /// <summary> 2 /// 公共基类里面干一些公共的事情 3 /// </summary> 4 public class BasePage : System.Web.UI.Page 5