当前位置:
首页 > Python基础教程 >
-
【django入门】 04 初探GET/POST 设计登录页面
理解GET请求/POST请求
(大写的GET,大写的POST)
简单来说,GET就是输入网址访问(可依靠网址显式传递参数);POST就是提交表单访问(隐式传递参数)
- request是可变自定义变量名,它包括method属性(等于GET或POST)
- request.GET 为显式传递的参数 (大写的GET)
- request.POST 为隐式传递的参数 (大写的POST)
|
print(request.method) |
|
print(request.GET) |
|
print(request.POST) |
三种return:
- return HttpResponse("welcome")
- return render(request, "index.html", {"varHtml": var})
- return redirect("www.baidu.com")
设计登录 请求/响应
-
views.py
- 第3行:GET要大写
- 第5行:当非GET时,才会运行到这一行
- 第6行:user来自html文件form中对用户名input的命名,是user
- 第6行:获取用户POST请求中参数的语法,是POST.get("user")
- 第11行:如运行到此,则传入带值变量(“密码错误”)——html中一直有渲染此变量,只是之前默认为空
|
def index(request): |
|
|
|
if request.method == "GET": |
|
return render(request, "index.html") |
|
|
|
username = request.POST.get("user") |
|
password = request.POST.get("pwd") |
|
if username == "trueName" and password == "123": |
|
return HttpResponse("登录成功") |
|
|
|
return render(request,"index.html", {"error_msg": "密码错误"}) |
-
index.html
- 第3行:如写为action="",效果为返回本页,即,同action="/index/"——左右"/"都不可少
- 第3行:action不可省略左"/",否则返回网址在"index/"后额外又加一个"index/"
- 第3行:action不可省略右"/",否则报错,因为网址必须以"/"截止
- 第4行:<form>里的{% csrf_token %}不可少;csrf = Cross Site Request Forgery
- 第567行:html语法,两种叫placesholder,一种叫value
- 第8行:html语法,需在一个框架里,比如,才可设定style = "color:red"
|
<body> |
|
<h1>登录</h1> |
|
<form method="post" action="/index/"> |
|
{% csrf_token %} #验证 |
|
<input type="text" name="user" placeholder="用户名"> |
|
<input type="password" name="pwd" placeholder="密码"> |
|
<input type="submit" value="提交"> |
|
<span style="color: red">{{ error_msg }} </span> |
|
</form> |
|
</body> |
来源:BV1NL41157 武沛齐《2022 B站最详细django3教程(django从入门到实践)》P11
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式