Python-Django简单实现session登录注销
2018-09-14 10:03
639 查看
开发工具:pycharm
简单实现session的登录注销功能
Django配置好路由分发功能
默认session在Django里面的超时时间是两周
使用request.session.set_expiry(60)设置超时时间,以秒为单位
在Django配置文件里配置session链接:http://blog.51cto.com/song1230/2175169
form表单里路径一定要带上/app01的路径
重点重点重点!!!如果出现已下报错,则是因为session信息要保存到数据库中,而你的Django没创建session表呢,
所以要在命令行执行以下命令,来构造session表
python manage.py makemigrations
python manage.py migrate
简单实现session的登录注销功能
Django配置好路由分发功能
默认session在Django里面的超时时间是两周
使用request.session.set_expiry(60)设置超时时间,以秒为单位
在Django配置文件里配置session链接:http://blog.51cto.com/song1230/2175169
urlpatterns = [ path('admin/', admin.site.urls), path('app01/', include('app01.urls')) ]app01/urls.py的路由如下
urlpatterns = [ path('login/', views.login), path('index/', views.index), ]app01/views.py视图的内容如下
# Create your views here. from django.shortcuts import HttpResponse, render, redirect def login(request): if request.method == 'GET': return render(request, 'login.html') elif request.method == 'POST': user = request.POST.get('username') pwd = request.POST.get('pwd') if user == 'song' and pwd == '123': # 往session里写入数据的时候,Django会自动生成随机码,发送给cookie,然后自己保留一份跟cookie一一对应 request.session['username'] = user request.session['is_login'] = True #设置session(同时对应的cookie)超时时间,按秒计算 request.session.set_expiry(60) # 路径已经要写全,把/app01带上,以前好像不带是可以的 return redirect('/app01/index/') else: return render(request, 'login.html') def index(request): # 拿到cookie对应的随机码,来查找session里的is_login字段是否True,如果通过则表示通过 if request.session.get('is_login', None): return render(request, 'index.html') else: return HttpResponse('滚') def logout(request): # 清除当前对应session所有数据 request.session.clear() # 路径已经要写全,把/app01带上,以前好像不带是可以的 return redirect('/app01/login')templates目录的里login.html内容
form表单里路径一定要带上/app01的路径
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <div> <form action="/app01/login/" method="post"> <input type="text" name="username"> <input type="password" name="pwd"> <input type="submit" value="提交"> </form> </div> </body> </html>templates目录的里index.html内容
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>登录成功</h1> <div> <a href="/app01/logout/">注销</a> </div> </body> </html>
重点重点重点!!!如果出现已下报错,则是因为session信息要保存到数据库中,而你的Django没创建session表呢,
所以要在命令行执行以下命令,来构造session表
python manage.py makemigrations
python manage.py migrate
相关文章推荐
- Django框架基于session的登录/注销实现
- django 1.11.5与python3.62实现简单的 注册,登录与修改密码
- python django 快速实现注册,登录,注销
- django开发项目实例3--用session是实现简单的登陆、验证登陆和注销功能
- 简单爬虫实现登录新浪微博(python2.7)
- Django1.6 用Form实现注册登录注销修改密码(含代码!)
- Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
- Python 实现简单的用户注册和登录
- Python学习笔记-Django实现简单增删改查
- Python+django实现简单的文件上传
- Django1.6 用Form实现注册登录注销修改密码
- python实现登录函数,比较简单
- python中如何简单的实现decorator模式--由django admin源码所得体会
- session(登录注销)和cookie(记住用户名和密码)的实现
- Python实现简单登录验证
- Python的Flask框架中实现简单的登录功能的教程
- python实现简单爬虫模拟登录淘宝(cookie简介)
- Python实现简单登录验证
- Python之实现简单的注册登录系统
- python实例:Django实现登录、注册