7
2012
涉及session的使用,django的session存储在数据库中,我们需要先配置数据库
此处使用sqlite3,便于快速开始
修改settings.py
‘ENGINE’ : ‘django.db.backends.sqlite3′
‘NAME’ : ‘./data.db’
‘NAME’ : ‘./data.db’
初始化数据库
使用./manage.py syncdb
按提示输入用户名,密码,此处为root/123456
使用session实现登陆状态保持(http无状态特性,session等提供了扩展)
修改urls.py,创建登录和注销的url
url(r’^form/login/$’,'djangotest1.form.login’),
url(r’^form/logout/$’,'djangotest1.form.logout’),
在前面配置的form页面基础上添加
from django.http import HttpResponse,HttpResponseRedirect
from django.shortcuts import render_to_response
def login(request):
uname = request.POST.get(‘uname’,None)
passwd = request.POST.get(‘passwd’,None)
if uname:
request.session['uname'] = uname
sessname = request.session.get(‘uname’,None)
if sessname:
return render_to_response(‘login.html’,{‘uname’:sessname})
else:
return render_to_response(‘login.html’)
def logout(request):
try:
del request.session['uname']
except KeyError:
pass
return HttpResponseRedirect(‘/form/login’)
在templates文件夹下添加文件login.html
{% if not uname %}
<form method = “post” action=”/login/”>
用户名 :<input type=”text” name=”uname” value=”" /><Br/>
密 码 : <input type=”text” name=”passwd” value=”"/><Br/>
<input type=”submit” value=”登录” />
</form>
{% else %}
你好,{{ uname }} <br/>
<form metch=”post” action=”/form/logout/” >
<input type=”submit” value=”注销” />
</form>
{% endif %}
现在在http://127.0.0.1:8080/from/login/页面可测试登录,注销
本文连接地址: http://www.fresker.com/old2/archives/524 (转载注明出处)
目前暂无评论