django session 的简单操作
#!SESSION_SAVE_EVERY_REQUEST = True 设置根据最后一次操作设置登录超时时间
#!SESSION_EXPIRE_AT_BROWSER_CLOSE = True 设置是否关闭浏览器session 过期
#上面的在setting 里设置 from django.shortcuts import render,redirect,HttpResponse #登录页面
def login(request):
if request.method == 'GET':
return render(request,'logins.html')
elif request.method == "POST":
user = request.POST.get('user')
pwd = request.POST.get('pwd')
if user == 'root' and pwd == "123":
#生成随机字符串
#写到用户浏览器cookie
#保存到session
#在随机字符串对应 相对应的字典 request.session['username'] = user
request.session['is_login'] = True if request.POST.get('rmb',None) == '1':
#设置登录超市时间
request.session.set_expiry(10) return redirect("/app01/index/")
else:
return render(request,'logins.html') #登录成功后返回
def index(request):
#如果登录后返回页面 否则返回'请登录后访问'
if request.session.get("is_login",None):
return render(request,'login.html',{'username' :request.session['username']})
else:
return HttpResponse('请登录后访问')
#登录注销
def logout(request):
#清除当前session
request.session.clear()
return redirect("/app01/session/")
------------------------------------------------------------------------------------------------------------------------------------------------------
登录模板:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/app01/session/" method="post">
{% csrf_token %} <input type="text" name="user" />
<input type="text" name="pwd" />
<input type="checkbox" name="rmb" value="1"> 10秒免登录
<input type="submit" value="提交"> </form> </body>
</html> 返回模板:
<h1>欢迎登录:{{ username }},{{ request.session.username }}</h1>
<div style="height: 30px;width: 200px;background: #2ec0f6;text-align: center;line-height: 30px"><a href="/app01/logout/" style="font-size: 20px">注 销 </a></div>
django session 的简单操作的更多相关文章
- Java中对session的简单操作
1.jsp中操作session <% String name=(String)request.getSession().getAttribute("username"); / ...
- Django session相关操作
Django session 是存储在数据库中的所以要先跟数据库建立连接 本连接有Django跟数据库建立连接的操作:https://www.cnblogs.com/Niuxingyu/p/10296 ...
- 基于django的自定义简单session功能
基于django的自定义简单session功能 简单思路: 1.建立自定义session数据库 2.登入时将用户名和密码存入session库 3.将自定义的随机session_id写入cookie中 ...
- django session
上周一个新的应用场景,带出来了关于django session管理的问题. 公司的另一个App以Widget的形式嵌入我们的页面,就是我们提供一些url,另一个App通过iframe的形式嵌入这些ur ...
- Django session 详解-part II-session
Django中的session是一个高级工具,它可以让用户存储个人信息以便在下次访问网站中使用这些信息.session的基础还是cookie,但是它提供了一些更加高级的功能.请看下面的一个例子: 使用 ...
- 【Django】Django model与数据库操作对应关系(转)
Django对数据库的操作分用到三个类:Manager.QuerySet.Model. Manager的主要功能定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manag ...
- ZooKeeper系列3:ZooKeeper命令、命令行工具及简单操作
问题导读1.ZooKeeper包含哪些常用命令?2.通过什么命令可以列出服务器 watch 的详细信息?3.ZooKeeper包含哪些操作?4.ZooKeeper如何创建zookeeper? 常用命令 ...
- django初探-创建简单的博客系统(二)
上篇django初探-创建简单的博客系统(一)已经记录了Django实现博客的发布的整个过程,接下来继续说明博客标题和内容的显示. 显示博客详细 将博客内容保存到数据库还不是发布博客的终极目的,博客一 ...
- TensorFlow与OpenCV,读取图片,进行简单操作并显示
TensorFlow与OpenCV,读取图片,进行简单操作并显示 1 OpenCV读入图片,使用tf.Variable初始化为tensor,加载到tensorflow对图片进行转置操作,然后openc ...
随机推荐
- ulimit系统资源的设定
使用ulimit -a 可以查看系统使用的资源 core file size 设定core文件的最大值,单位为区块,如果指定为0,不会产生core文件 data seg size 设定数据段的最大值, ...
- Post Order traverse binary tree using non-recursive way
Process analysis Stack = 5, Push 3, Stack = 5, 3. Pre = 5 Current = 3, Pre = 5, Push 2 to the st ...
- 【转载】 TensorflowOnSpark:1)Standalone集群初体验
原文地址: https://blog.csdn.net/jiangpeng59/article/details/72867368 作者:PJ-Javis 来源:CSDN --------------- ...
- 3.python集合
1.集合1.不同元素组成2.无序排列的可hash值3.集合中元素必须是不可变类型(数字,字符串,元祖) 2.集合创建:(1)定义可变类型集合set:把里面元素一个一个进行for循环往大括号里放 set ...
- Install MariaDB on Ubuntu server
本文所描述的安装方法实用于一下软件环境 ,不能保证使用于其他版本,请参考自己实际情况调整安装方法及参数. 操作系统版本:Ubuntu Server 14.04 LTS 64bit 欲安装MariaDB ...
- 搭建自己的Docker registry(五)
弄了一天,在网上查了很多资料,感觉都好复杂好复杂,一步一步踩坑踩出来就好了. 服务器:阿里云(香港) 环境:CentOS Linux release 7.4.1708 (Core) Docker:1. ...
- Window离线环境下如何安装pyhanlp
Hanlp在离线环境下的安装我是没有尝试过的,分享SunJW_2017的这篇文章就是关于如何在离线环境下安装hanlp的.我们可以一起来学习一下! HanLP是一款优秀的中文自然语言处理工具,可以实现 ...
- Linux cp命令详解
Linux cp命令 Linux cp命令主要用于复制文件或目录,将源文件复制至目标文件,或将多个源文件复制至目标目录 用法: cp [选项]... [-T] 源文件 目标文件 cp [选项]... ...
- win7中安装mysql
这篇文章主要介绍了如何在win7中安装mysql,所以加上了MySQL的下载过程,希望对需要的人有所帮助大家都知道MySQL是一款中.小型关系型数据库管理系统,很具有实用性,对于我们学习很多技术都有帮 ...
- Windows Azure Virtual Network (13) 跨数据中心之间的虚拟网络点对点连接VNet Peering
<Windows Azure Platform 系列文章目录> 今天是大年初二,首先祝大家新年快乐,万事如意. 在笔者之前的文章中:Windows Azure Virtual Networ ...