第一步: 在sign/templates/index.html 文件中,开发一个简单的 登录表单
第二步:启动:Django服务,访问 : http://127.0.0.1:8002/index/
第一步:给 form 表单添加属性 method="get" 方法
发布会签到系统
第二步:保存 index.html 文件,刷新登录页面,输入用户名/密码:admin/admin123
查看结果:
第一步:在 from表单中将 属性 methtod="post‘ 改变成post
发布会签到系统
第二步:访问主页地址:http://localhost:8002/index
第三步:解决以上出现的错误
查资料发现:Django针对 CSRF的保护措施是在生成的每一个表单中反置一个自动生成的令
牌,通过令牌查看 post请求是否来自同一个网站;
第四步:刷新页面: 访问地址:https://localhost:8002/index
第一步:由于要添加登陆的请求,所以在 from 表单中的 Action属性来指定提交的请求:
第六步:查看一下登陆失败以后的结果。
第一步:在 sign的 templates 中 新建一个 .html 的页面
第二步:在 guest 目录中的 urls.py 中 添加 success 路径
第三步:映射到 sign 中的 views.py 中添加 success 函数
第四步:验证,是否登陆成功以后的路径是否是 success
第一步:修改在 sign 下的 views.py 中 添加 Cookie
Cookie机制:
Cookie 分发通过扩张的HTTP协议来实现,服务器通过在HTTP的响应头
中加上一行特殊的指示来提示浏览器按照指示生成相应的 Cookie.
第二步: 在 success.html下面中添加 标签来显示用户名
第三步:重新加载页面信息访问路径:http://localhost:8002
查看登陆成功以后的页面:在浏览器上面显示出 html 中传回来的值
第一步:修改 sign下面的 views.py中的 login函数
cooike 虽然可以使用但是存在一定的安全隐患,用户登陆以后会将所有的 用户名都停留在
浏览器页面上面,使用为了防止用人盗取用户名,将cookie换成了 session
第二步:刷新页面,重新加载网站:http://localhost:8002/index
在上一章使用session的时候,Django同时也生成了 auth_user表,该表中存放用户信息可以登陆Django自带的Amdin管理后台。
通过命令来创建 Admin 后台的管理账号。
创建 Admin 后台 超级管理账号。
python manage.py createsuperuser
其中输入的密码是不可见的一定要注意
3. 在浏览器中输入admin管理后台登陆地址:http://localhost:8002/admin
登陆完成以后的结果:
在 sign 目录下的 views.py 文件中,修改 login 登陆函数
from django.contrib import auth #导入auth包
user=auth.authenticate(username=username,password=password)#认证用户名
不需要也可以直接访问到登陆成功的页面。
访问地址:http://localhost:8002/success/
为了防止直接打开登陆成功页面,所以想要关闭这个 登陆页面的 窗口。在sigin下面的 views.py 文件 添加内容:
from django.contrib.auth.decorators import login_required
@login_required#防止浏览器直接访问该网页
添加@login_required 的装饰来直接访问页面:
地址:http://localhost:8002/success