django中发送get post请求并获得数据

news/2024/11/28 0:57:32/

django中发送get post请求并获得数据

  • 项目结构如下
  • 注册路由 urls.py
  • 在处理函数中处理请求 views.py
  • 进行 get的请求
  • 01浏览器 get请求传参数
  • 02服务器django get参数解析获取
  • 01浏览器 post的发送
    • 浏览器get 请求 获取页面
    • 返回的 form 发送post请求 带参数
  • 02服务器django的post请求数据解析参数--解决csrf的问题

项目结构如下

在这里插入图片描述

注册路由 urls.py

 # 测试get postpath('text_get_post', views.test_get_post),#text_get_post 是路由url  views.test_get_post 是处理函数

在处理函数中处理请求 views.py

在这里插入图片描述

def test_get_post(request):if request.method == 'GET':#处理get 请求elif request.method == 'POST':#处理post请求else:return HttpResponse("is ok")

进行 get的请求

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

01浏览器 get请求传参数

在这里插入图片描述

http://127.0.0.1:8000/text_get_post?a=12&c=45
a=12&c=45 就是参数

02服务器django get参数解析获取

在这里插入图片描述

def test_get_post(request):if request.method == 'GET':#处理get 请求# text_get_post?a=12&c=45# 从request 的GET字典中获取 a  如果没有就会报错# text_get_post?c=45  没有a 就会报错a = request.GET['a']# text_get_post?a=12# 从request 的GET字典中获取 c  如果没有就会 使用no value 默认值c = request.GET.get('c', "no value")# 获取列表 存在多个同key# text_get_post?a=12&c=45&d=45&d=77&d=11# ['45', '77', '11']d = request.GET.getlist('d', "no value")# 当存在print(c)print(a)print(d)return HttpResponse(temp)elif request.method == 'POST':#处理post请求else:return HttpResponse("is ok")

在这里插入图片描述

总结就是
GET[‘a’] 如果url 没有传递过来 就会报错
GET.get(‘c’, “no value”) 如果url 没有传递过来 就会使用默认值
request.GET.getlist(‘d’, “no value”) 当存在多个相同key 就会形成列表

01浏览器 post的发送

在这里插入图片描述

可以get 请求返回页面 页面中存在form form 进行post 请求

在views.py

def test_get_post(request):if request.method == 'GET':# GET POST的处理temp = '''<form method="post" action="/text_get_post">姓名: <input type="text" name="username" ><input type="submit" value="提交"></form>'''return HttpResponse(temp)elif request.method == 'POST':username = request.POST['username']print(username)return HttpResponse(username)

浏览器get 请求 获取页面

在这里插入图片描述

返回的 form 发送post请求 带参数

一下代码就会发送post请求

temp = '''<form method="post" action="/text_get_post">姓名: <input type="text" name="username" >密码: <input type="text" name="pass" >年龄: <input type="text" name="age" ><input type="submit" value="提交"></form>'''

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

02服务器django的post请求数据解析参数–解决csrf的问题

elif request.method == 'POST':username = request.POST['username']passd = request.POST['pass']age = request.POST['age']print(username+passd+age)return HttpResponse(username+passd+age)

把表单中提交的数据获取出来
并返回
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/535666.html

相关文章

世嘉MD游戏开发进阶篇【二】:C语言实现有限状态机

有限状态机应用是非常广泛的&#xff0c;比如关卡的切换、角色动画状态的切换等等&#xff0c;我自己写了个有限状态机&#xff0c;开发世嘉MD游戏的朋友可以用得到&#xff0c;对于解耦还是有点帮助的&#xff0c;不必挤在一个文件里。 没有学过MD游戏开发基础的可以翻看我写…

世嘉MD游戏开发【十一】:背景卷轴滚动(视差滚动)Parallax Scroll和摄像机

背景卷轴这个名字现在比较少听到了&#xff0c;现在的游戏引擎都不用这项技术了&#xff0c;或者可以轻松实现这个功能不值一提了&#xff0c;又或者不用这个技术照样也可以等等原因&#xff0c;大家基本听不到了。 玩过世嘉MD模拟器的可能对图层分层显示这个功能有印象&#…

世嘉MD游戏开发【三】:输入控制(上)

这一节讲一下SGDK中的输入控制&#xff0c;SGDK提供了两种输入控制方式&#xff0c;一种是用回调函数接收输入信息&#xff0c;很自然的另一种就没有用回调函数了&#xff08;貌似废话-.-!&#xff09;&#xff0c;成上下两节&#xff0c;这一节讲不用回调函数来接收输入信息。…

世嘉MD游戏开发【六】:矩形填充Tile图块

上节课讲了如何显示一个Tile图块&#xff0c;这节课我来讲一下Tile图块的矩形填充。 打开Sega Genesis Tile Designer&#xff0c;设置tile宽度为4tiles&#xff0c;高度也是4tiles&#xff1a; 随便绘制几个tile块&#xff0c;下面我用我自己绘制的作为例子&#xff1a; 导出…

世嘉MD游戏开发【八】:淡入和淡出

淡入淡出&#xff0c;很好理解&#xff0c;淡入就是画面由黑过渡到彩色&#xff0c;淡出就是画面由彩色过渡到黑色&#xff0c;其实也不一定必须是黑色&#xff0c;看你自己需求了。 注&#xff1a;淡入淡出的功能可以完成非常多的游戏玩法设计哦~打开脑洞就有惊喜~ 效果图如…

世嘉MD游戏开发进阶篇【一】:两点之间的距离

开发游戏免不了要计算两个坐标之间的距离&#xff0c;计算两点之间的距离我们可以用勾股定理&#xff0c;比如说A代表直角三角形的一条直角边&#xff0c;B代表另一条直角边&#xff0c;C代表斜边&#xff0c;得到公式ABC。C也就是两点之间的距离&#xff0c;根据公式可计算出C…

世嘉MD游戏开发【十】:精灵动画,Sprite Animation

能在世嘉MD上显示自己做的精灵动画实在是一件令人兴奋的事啊&#xff0c;今天就来讲一下如何在MD上显示精灵动画。 先准备好一张精灵图片序列&#xff0c;有这么几点要求&#xff1a; 1.单个精灵的像素宽x高不能超过16384&#xff0c;(以tile为单位的话&#xff0c;就是16x16…

世嘉MD游戏开发【四】:输入控制(下)

上一节讲了世嘉MD两种输入控制当中的一种&#xff0c;也是比较容易理解的一种&#xff0c;这一节讲一下剩下的这种控制方式&#xff1a;回调函数式。 建好文件夹&#xff0c;用vscode打开&#xff0c;新建main.c&#xff0c;依然是直觉一般的写下如下代码&#xff1a; #inclu…