Django的请求与响应

embedded/2024/10/18 2:53:13/

Django的请求与响应

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

1、常见的请求

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

在这里插入图片描述

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

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

2、常见的响应

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

3、案例

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

  • 在urls.py写出路径、函数的映射关系
python">path("login/", views.login),
  • 在views.py中写login函数
python">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.ppmy.cn/embedded/126989.html

相关文章

详解安卓和IOS的唤起APP的机制,包括第三方平台的唤起方法比如微信

网页唤起APP是一种常见的跨平台交互方式&#xff0c;它允许用户从网页直接跳转到移动应用程序。 这种技术广泛应用于各种场景&#xff0c;比如让用户在浏览器中点击链接后直接打开某个应用&#xff0c;或者从网页引导用户下载安装应用。实现这一功能主要依赖于URL Scheme、Univ…

R语言运行地理探测器模型

地理探测器&#xff08;GeoDetector&#xff09;是一种用于空间分析的统计模型&#xff0c;它能够探测空间分异性以及揭示其背后驱动力的一组方法。它的核心思想是基于这样的假设&#xff1a;如果某个自变量对某个因变量有重要影响&#xff0c;那么自变量和因变量的空间分布应该…

用python做一个简单的画板

一&#xff0c;画板的介绍 画板&#xff08;Paint Board&#xff09;是一个提供用户绘图、涂鸦和创作的平台。现代数字画板通常是由软件程序实现的&#xff0c;具有多种功能。以下是画板的一些主要特征和功能&#xff1a; 1. 基本绘图工具 画笔和铅笔&#xff1a;用户可以选…

Redis内存回收

Redis内存回收 过期key处理: Redis之所以性能强&#xff0c;最主要的原因就是基于内存存储。然而单节点的Redis其内存大小不宜过大&#xff0c;会影响持久化或主从同步性能。 我们可以通过修改配置文件来设置Redis的最大内存 当内存使用达到上限时&#xff0c;就无法存储更多…

Python网络爬虫技术

Python网络爬虫技术详解 引言 网络爬虫&#xff08;Web Crawler&#xff09;&#xff0c;又称网络蜘蛛&#xff08;Web Spider&#xff09;或网络机器人&#xff08;Web Robot&#xff09;&#xff0c;是一种按照一定规则自动抓取互联网信息的程序或脚本。它们通过遍历网页链…

华为S5735交换机配置脚本

S5735配置脚本 #配置设备名称 sysname S5537-Switch poe交换机配置 vlan batch 2 50 60 vlan batch 97 120 130 200 vlan 50 name Wifi1 vlan 60 name Wifi2 vlan 97 name ACpvid vlan 120 name Jiankong1 vlan 130 name Jiankong2 interface Vlanif 2 ip address 192.…

【VUE】会员管理(增删改查)

前端 router/index.js import { createRouter, createWebHistory } from vue-router import {userInfoStore} from "/stores/user.js";const router createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [{path: /login,name: login,comp…

软件测试学习笔记丨tcpdump 与 wireshark

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/32333 一、抓包分析TCP协议 1.1 简介 TCP协议是在传输层中&#xff0c;一种面向连接的、可靠的、基于字节流的传输层通信协议。 1.2 环境准备 对接口测试工具进行分类&#xff1a; 网络嗅…