django开发项目实例3--用session是实现简单的登陆、验证登陆和注销功能
2014-05-15 21:06
1241 查看
如果你的网页不是纯阅读型的,那么你很有可能希望在用户打开某些界面的时候需要验证用户是否登陆的信息,
虽然django里面有自带的一些user的类,但我看不懂,并且自己实现也不是很难,下面和大家分享一下我的项目经历吧
1:首先你要知道,登陆,验证登陆和注销是怎么样的概念,按照我的理解,我觉得:
登陆:后台验证这个用户名和密码是否存在
保持登陆状态:为什么登陆一次后第二次打开网页的时候不需要验证了呢,那是因为把登陆写入了本地的cookie(我们这里用session),
打开网页的时候先验证本地的session,如果存在有效项,证明已经登陆过
注销:如果明白了保持登陆状态是怎么回事,那么注销无非就是把本地的session项删除就ok了
2:明白原理后,马上来操练代码吧:
先写html
登陆:好吧,默认用户名是root,可以用placeholder属性实现,可以随便改的,密码123456,首先我们要清楚整个流程
用户点开当前页面,验证是否已经登录-->否-->显示登陆框
-->是-->验证用户名和密码-->正确
-->错误-->显示error和登陆框
注销:(其实可以先验证是否登陆先的,再次简化,可以自己考虑去实现)直接把session内容改为false和空就好了
至此就实现了登陆,验证登陆和注销的的全过程了,有什么问题直接评论吧
虽然django里面有自带的一些user的类,但我看不懂,并且自己实现也不是很难,下面和大家分享一下我的项目经历吧
1:首先你要知道,登陆,验证登陆和注销是怎么样的概念,按照我的理解,我觉得:
登陆:后台验证这个用户名和密码是否存在
保持登陆状态:为什么登陆一次后第二次打开网页的时候不需要验证了呢,那是因为把登陆写入了本地的cookie(我们这里用session),
打开网页的时候先验证本地的session,如果存在有效项,证明已经登陆过
注销:如果明白了保持登陆状态是怎么回事,那么注销无非就是把本地的session项删除就ok了
2:明白原理后,马上来操练代码吧:
先写html
<form action="" method="post" name="login_form" id="login_form"> {% csrf_token %}<!--django 必须加的--> <div id="login_div"> <input id="username" type="text" value="root" name="username"> <input id="password" type="password" name="password" > <input id="submit" type="submit" name="login" value="登陆"> <input id="submit" type="submit" name="logout" value="注销"> </div> </form>
登陆:好吧,默认用户名是root,可以用placeholder属性实现,可以随便改的,密码123456,首先我们要清楚整个流程
用户点开当前页面,验证是否已经登录-->否-->显示登陆框
-->是-->验证用户名和密码-->正确
-->错误-->显示error和登陆框
注销:(其实可以先验证是否登陆先的,再次简化,可以自己考虑去实现)直接把session内容改为false和空就好了
bool_login = False msg='Please log in first' if request.session.get('login',False): username = request.session['username'] bool_login=True else: username ='' if request.method=='POST': if 'login' in request.POST: #if username =='root' if (request.POST['username']=='root') and (request.POST['password']=='123456'): msg='Welcome, You have logged in' request.session['username']='root' #let login as true request.session['login']=True bool_login = True else: msg='username or password error' bool_login = False return render_to_response('home.html',{'bool_login':bool_login,'user':request.POST['username'],'msg':msg},context_instance=RequestContext(request)) elif 'logout' in request.POST: request.session['login'] = False request.session['username'] = '' bool_login=False msg='You have logged out' return render_to_response('home.html',{'bool_login':bool_login,'msg':msg},context_instance=RequestContext(request)) return render_to_response('home.html',{'bool_login':bool_login,'msg':msg},context_instance=RequestContext(request))
至此就实现了登陆,验证登陆和注销的的全过程了,有什么问题直接评论吧
相关文章推荐
- 【PythonDjango后台实例 第六章】Django实现简单的登陆验证功能
- Android项目开发(4)-忘记密码---验证码验证页面功能实现
- 20170918_chr_newlogin Struts2实现登陆功能(简单validate验证)
- 仿实例开发---简单四则计算器功能实现
- Python-Django简单实现session登录注销
- ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
- Android SharedPreferences应用 实现本地注册登陆 功能简单易懂(实例)
- 用MOB实例开发实现短信验证功能
- WCF广州本田整车销售系统技术解析(一) 新建项目与登陆验证功能实现
- Android项目开发(3)-注册验证码验证页面功能实现
- javaWeb的session和cookie实现记住密码自动登录功能简单实例
- Session用法案例 -->实现简单购物车功能(实际项目可能不会这么使用)
- ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
- ASP.NET jQuery 实例11 通过使用jQuery validation插件简单实现用户登录页面验证功能
- Eclipse使用(七)—— 使用Eclipse创建JavaWeb项目并使用JDBC连接数据库实现简单的登陆注册功能
- JSP只用Hashtable和session实现购物车功能的简单实例
- 【django4】简单注册/登陆/注销功能
- JS实现的简单表单验证功能完整实例
- 用AJAX实现页面登陆以及注册用户名验证的简单实例