Linux下开发python django程序(Session读写)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下开发python django程序(Session读写)相关的知识,希望对你有一定的参考价值。

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读写)的主要内容,如果未能解决你的问题,请参考以下文章

Linux下开发python django程序(Session读写)

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

Linux下开发python django程序(设置admin后台管理上传文件)

centos+apache+python34+django+mod_wsgi 开发环境搭建

Linux 下 将使用Python-Django开发的web应用布置到服务器上(亲测有效)

Linux下安装Python3和django