当前位置: 首页 > news >正文

Django的请求与响应

Django的请求与响应

  • 1、常见的请求
  • 2、常见的响应
  • 3、案例

1、常见的请求

函数的参数request是一个对象,封装了用户发送过来的所有请求相关数据。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

get请求一般用来请求获取数据,get请求也可以传参到后台,但是传递的参数显示在地址栏。
post请求一般作为发送数据到后台,将传递的参数放在请求体中,不会在地址栏显示,安全性比get请求高。

2、常见的响应

  • HttpResponse:将内容字符串返回给请求者
    return HttpResponse("返回内容")

在这里插入图片描述

  • render:读取HTML的内容,渲染(替换)后,将字符串返回给用户浏览器
return render(request, 'something.html', {"title": "来了"})

在这里插入图片描述

在这里插入图片描述

  • redirect:重定向,让浏览器重定向到其他页面。浏览器向某个网站发起请求,网站会告诉浏览器某个网址,然后让浏览器自己去访问,去向那个网站再次发起请求。
return redirect("https://www.baidu.com/")

3、案例

现在写一个用户登录的小案例

  • 在urls.py写出路径、函数的映射关系
path("login/", views.login),
  • 在views.py中写login函数
def login(request):# 如果请求类型是POST,就输出请求数据if request.method == "POST":print(request.POST)return HttpResponse('登录成功')# 如果请求类型是GET,就访问login页面  else:return render(request,"login.html")
  • 在login.html写前端页面,当表单数据提交后,会向/login/地址发起post请求,从而会再次访问login函数
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>用户登录页面</title>
</head>
<body><h1>用户登录</h1><form method="post" action="/login/"><input type="text" name="user" placeholder="用户名"><input type="password" name="password" placeholder="密码"><input type="submit" placeholder="提交"></form>
</body>
</html>
  • 运行,在登录页面填写信息点击提交后,会出现下述错误

在这里插入图片描述
在这里插入图片描述

  • 出现上述错误的原因是Django有csrf token的验证,即一层安全机制的校验,解决办法是在表单里面写一行代码:{% csrf_token %}

在这里插入图片描述
在这里插入图片描述


http://www.lryc.cn/news/459048.html

相关文章:

  • [java]Iterable<Integer> 和Iterator<Integer>的区别和用法
  • JavaScript进行数据可视化:D3.js入门
  • 字符串拼接方法性能对比和分析
  • [Halcon矩阵] 通过手眼标定矩阵计算相机旋转角度
  • 推荐几本编程入门书目
  • 每天一个数据分析题(五百零五)- 提升方法
  • 华为云ECS部署DR模式的LVS
  • 如何在 Jupyter Notebook 执行和学习 SQL 语句(上)
  • 数据结构-5.7.二叉树的层次遍历
  • RISC-V知识点目录
  • C++11 新特性 学习笔记
  • Go 语言中的格式化占位符
  • QD1-P5 HTML 段落标签(p)换行标签(br)
  • Django的模板语法
  • 【在Linux世界中追寻伟大的One Piece】信号捕捉|阻塞信号
  • 信息系统运维管理方案,运维建设文档,运维平台建设方案,软件硬件中间件运维方案,信息安全管理(原件word,PPT,excel)
  • 多元统计实验报告内容
  • 使用机器学习边缘设备的快速目标检测
  • Anthropic的CEO达里奥·阿莫迪(Dario Amodei)文章传达他对AI未来的乐观展望
  • Human-M3 多模态姿态估计数据集-初步解读
  • python爬虫 - 进阶正则表达式
  • 静态路由和nqa 联动实验
  • golang用any类型去接收前端传的数字类型的值,类型断言为float64
  • 5、Spring Boot 3.x 集成 RabbitMQ
  • ENSP搭建基础网络拓扑图
  • 尚硅谷rabbitmq 2024 消息可靠性答疑二 第22节
  • 在 Ubuntu 上安装 Whisper 支撑环境(ffmpeg、PyTorch)的教程(2024亲测可用)
  • vue+echarts实现雷达图及刻度标注
  • 【进阶OpenCV】 (9)--摄像头操作--->答题卡识别改分项目
  • 实时从TDengine数据库采集数据到Kafka Topic