1.登陆设置session信息

def loginsession(req):
if req.method == 'POST':
loginform = LoginForm(req.POST)
if loginform.is_valid():
print loginform.cleaned_data
username = loginform.cleaned_data["username"]
password = loginform.cleaned_data["userpwd"]
users=RegisterUser.objects.filter(username =username , password =password)
print users
if users:
req.session['username']=username
return HttpResponseRedirect('/app1/indexsession/')
else:
return HttpResponseRedirect('/app1/login/') else:
loginform = LoginForm() return render_to_response('login.html',{'loginform':loginform})

template中对应的模板页面

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title></title>
</head>
<body>
{% if islogin %}
<li>登录用户:{{sessionloginname}} <a href="/app1/loginoutsession/">Logout</a></li> {%else %}
<li><a href="/app1/loginsession/">Login</a></li>
{%endif%}
<div>
{% for book in books %}
<h1>书籍:{{book}}<br></h1>
{% for au in book.author.all %}
作者: {{au}}
<br/>
{%endfor%}
{% endfor%}
</div>
</body>
</html>

2.获取session中的用户信息

def indexsession(req):
sessionloginname = req.session.get('username','') print 'sessionloginname:'+sessionloginname islogin=False
if sessionloginname :
islogin=True
else:
islogin=False aus = Author.objects.all()
books = Book.objects.all()
t= loader.get_template('index1.html')
c=Context({'aus':aus,'books':books,'islogin':islogin,'sessionloginname':sessionloginname})
return HttpResponse(t.render(c))

3.删除session中信息

def loginoutsession(req):
del req.session['username']
return HttpResponse('loginout ok!!')

Linux下开发python django程序(Session读写)的更多相关文章

  1. Linux下开发python django程序(Cookie读写)

    1.设置cookie信息(登陆成功后设置登陆用户名,有效期1小时) def login(req): if req.method == 'POST': loginform = LoginForm(req ...

  2. Linux下开发python django程序(设置admin后台管理上传文件和前台上传文件保存数据库)

    1.项目创建相关工作参考前面 2.在models.py文件中定义数据库结构 import django.db import modelsclass RegisterUser(models.Model) ...

  3. Linux下开发python django程序(设置admin后台管理模块)

    1.新建项目和项目下APP django-admin startproject csvt03 django-admin startapp app1 2.修改settings.py文件 设置默认安装AP ...

  4. Linux下开发python django程序

    一.安装django 1.#进入包文件夹下执行解压 tar zxvf Django-1.3.7.tar.gz 2#进入解压的文件夹执行安装 python setup.py install 3#安装成功 ...

  5. Linux下开发python django程序(Form表单对象创建和使用)

    1.在setting.py文件中修改节点,注释掉其中一行 MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'dj ...

  6. Linux下开发python django程序(django数据库多对多关系)

    1.多对多关系数据访问 models.py设置 from django.db import models # Create your models here. sex_choices=( ('f',' ...

  7. Linux下开发python django程序(模板设置和载入数据)

    1.添加templates文件夹 2.修改settings.py文件 import os #引用 os模块 BASE_DIR = os.path.dirname(os.path.dirname(os. ...

  8. 在linux下搭建python+django环境

    下载python3,进行编译安装,运行django程序 在 /opt目录中安装 cd /opt 1.解决python编译安装所需的软件依赖 yum install gcc patch libffi-d ...

  9. 在桌面Linux环境下开发图形界面程序的方案对比

    在Linux下开发GUI程序的方法有很多,比如Gnome桌面使用GTK+作为默认的图形界面库,KDE桌面使用Qt作为默认的图形界面库,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的 ...

随机推荐

  1. inline-flex值的含义

    css中, flex设置在container中,默认情况下占用全部空间,但是如果使用inline-flex值,则container具有inline-block元素的某种特点,只占用需要的宽度

  2. Oracle EBS 表空间

    -- DATA 这里仅提供查询锁和解锁.有时,锁是正常的,所以杀掉正锁着的进程有一定的风险性. 具体步骤如下: -- 1.0 查看 holder的进程 , 'Holder: ', 'Waiter: ' ...

  3. jQuery 中bind(),live(),delegate(),on() 区别

    on()来改写通过 .bind(), .live(), .delegate()所注册的事件 /* The jQuery .bind(), .live(), and .delegate() method ...

  4. spring配置datasource

    1.使用org.springframework.jdbc.datasource.DriverManagerDataSource  说明:DriverManagerDataSource建立连接是只要有连 ...

  5. September 02nd 2017 Week 35th Saturday

    Some things are more precious because they don't last long. 有些东西之所以弥足珍贵,是因为它们总是昙花一现. Life is ephemer ...

  6. VRSProcess(一)

    1.freopen( "CONOUT$","w",stdout);在操作系统中,命令行控制台(即键盘或者显示器)被视为一个文件,既然是文件,那么就有“文件名”. ...

  7. [微信小程序直播平台开发]___(二)Nginx+rtmp在Windows中的搭建

    1.一个可以忽略的前言 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramble ...

  8. ubuntu 12.04 eclipse增加桌面快捷方式

    1.创建桌面启动器(编辑/usr/share/applications/eclipse.desktop) [Desktop Entry] Encoding=UTF-8 Name=eclipse Com ...

  9. docker学习笔记:简单构建Dockerfile【Docker for Windows】

    参考与入门推荐:https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html#autoid-0-0-9 最近学习docker,写一个简单构建Doc ...

  10. python第十四课--排序及自定义函数

    1.排序 特点: 1).升序:从小到大 2).降序:从大到小 课堂实现选择排序:参看老郭选择排序.py文件 2.函数:(方法/method) 自定义函数: 概念:它表示一段作用范围(作用域),当中封装 ...