Django 16 设计一个登陆案例

普通登陆案例过程
配置login页面
QueryDict对象的使用
再写login_check函数中的功能

普通登陆案例

1.显示出登陆页面
a).设计url,通过浏览器访问127.0.0.1:8000/login 时显示登陆页面
b).设计url对应的视图函数login
c).编写模板文件login.html

url视图模板文件
/loginloginlogin.html

实际过程

1.设置test1/urls.py
2.设置booktest/urls.py
3.设置views .py
4.设置模板文件

1.设置test1/urls.py
如图:
在这里插入图片描述
2.设置booktest/urls.py
如图:
在这里插入图片描述
3.设置views .py
如图:
在这里插入图片描述
4.设置模板文件
如图:
在这里插入图片描述

结果:
如图:
在这里插入图片描述

2.登陆校验功能:
a).设计url,点击登陆页的登陆按钮发起请求127.0.0.1:8000/login_check时进行登陆校验
b).设计url对应的视图函数login.check。
接收表单提交过来的数据


配置login页面

1.设置test1/urls.py
2.设置booktest/urls.py
3.设置views .py

1.设置test1/urls.py
如图:
在这里插入图片描述

2.设置booktest/urls.py
如图:
在这里插入图片描述

3.设置views .py
如图:
在这里插入图片描述
然后提交,会报出一个禁止的错误:
在这里插入图片描述
在这里插入图片描述


解决方法:
注释掉csrf即可
在这里插入图片描述在这里插入图片描述


QueryDict对象的使用

类似于字典
但一个键可以对应多个值

在runserver中可以看到
在这里插入图片描述
进入shell界面

QueryDict的基本用法

>>> from django.http.request import QueryDict
>>> q = QueryDict('a=1&b=2&c=3')
>>> q['a']
'1'
>>> q['b']
'2'
>>> q['c']
'3'
>>> q.get('a')
'1'
>>> q.get('b')
'2'
>>> q.get('c')
'3'
>>> q.get('d')
>>> q['d'] # 返回报错django.utils.datastructures.MultiValueDictKeyError: "'d'"

getlist方法一个键返回多个值:

>>> q1 = QueryDict('a=1&a=2&a=3&b=4')
>>> q1['a']
'3'
>>> q1.get('a')
'3'
>>> q1.getlist('a')
['1', '2', '3']
>>> q1.getlist('b')
['4']
>>>

再写login_check函数中的功能

1.接收提交的参数,用户名和密码
2.进行登陆校验
3.返回应答

1.接收提交的参数,用户名和密码
如图:
在这里插入图片描述
2.进行登陆校验
如图:
在这里插入图片描述

3.返回应答
如图:
在这里插入图片描述

效果:
如图:
在这里插入图片描述

request.method:可以查看请求方式
request.path:一个字符串,表示请求的页面的完整路径。不包含域名和参数部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值