位置: IT常识 - 正文

Django_request学习(django中httpresponse)

发布时间:2024-01-23
Django_request (1)请求方式 这里使用一个接口测试软件postman 可以看到里面有非常多的发起请求的方式,最常用的就是GET和POST请求,但是这些方法无法在网页的url里显示 在学习request参数之前,django框架中首先接到浏览器发来的请求第一站是经过框架自带的wsgi. ... Django_request(1)请求方式

推荐整理分享Django_request学习(django中httpresponse),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:django auth,django permission_required,django的auth,django auth,django auth,django documentation,django permission_required,django query,内容如对您有帮助,希望把文章链接给更多的朋友!

这里使用一个接口测试软件postman可以看到里面有非常多的发起请求的方式,最常用的就是GET和POST请求,但是这些方法无法在网页的url里显示在学习request参数之前,django框架中首先接到浏览器发来的请求第一站是经过框架自带的wsgi.py文件

"""WSGI config for djangoRegina project.It exposes the WSGI callable as a module-level variable named ``application``.For more information on this file, seehttps://docs.djangoproject.com/en/3.2/howto/deployment/wsgi/"""import osfrom django.core.wsgi import get_wsgi_applicationos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djangoRegina.settings')application = get_wsgi_application()

这个文件的作用就是接收浏览器数据,进行数据解析,并按照http协议的请求格式进行封装传递给路由分发部分

(2)请求内容def ZJR_request(request): #请求格式 print(request.method) #请求体 print(request.body)

因为在get请求当中并没有参数设置,所以得到的请求体为空。如果需要加入请求体的内容,那么需要改为post请求

错误修正url错误如果发生这种错误,是因为没有在url末尾写全,必须以/结尾csrfCSRF # 表示django全局发送post请求均需要字符串验证功能:防止跨站请求伪造的功能工作原理:客服端访问服务器,在服务端正常返回给客户端数据的时候,而外返回给客户端一段字符串,等到客户端下次访问服务器时,服务器会到客户端查找先前返回的字符串,如果找到则继续,找不到就拒绝。访问流程:客户端 —> URL路由系统—> CSRF—> 视图函数需要在客户端页面的post表单中添:{% csrf_token%}将setting.py里的'django.middleware.csrf.CsrfViewMiddleware'注释掉就可以了

此时得到了刚刚提交的以urlencoded方式的数据,这种格式就是将普通的键值对变为用&符号连接的字符串常用的还有通过json格式传输的键值对,选择raw选项,并在下来菜单中选择json

这里面的字符必须使用双引号

request.postDjango_request学习(django中httpresponse)

这个方法也是输出请求体的一种,但是需要注意的是它并不适用每一种传参格式这是通过urlencoded格式这是json格式

获取值 name = request.POST.get("name") age = request.POST.get("age") print(name,age)

这个是必须通过urlencoded格式传参,然后通过POST方法得到具体的值

获取值列表

如果在传参的时候一个关键字包含了多个内容,就需要getlist方法

name = request.POST.getlist("name")

如果只用get方法,按照django自己的逻辑,只能选去这个关键字的最后一个选项

get请求

在postman里,get请求的参数要在param里面添加

获取路径print(request.path) print(request.get_full_path())

如果get请求中添加了参数,那么get_full_path方法则会取到所有参数,但path方法则不会但如果get请求里没有添加参数,两者的输出结果是一样的

获取请求头request.META

通过这种方法挥获得一大堆的键值对,通过解析可以获取到格式化后的内容

{'PATH': '/Users/ivanlee/opt/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.8/bin:/usr/local/bin:/usr/local/sbin:/Library/Frameworks/Python.framework/Versions/3.10/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/usr/local/share/dotnet:~/.dotnet/tools:/Library/Apple/usr/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:/Users/ivanlee/.dotnet/tools:/usr/local/mysql/bin','MANPATH': '/usr/local/share/man::','CONDA_EXE': '/Users/ivanlee/opt/anaconda3/bin/conda','CONDA_PYTHON_EXE': '/Users/ivanlee/opt/anaconda3/bin/python','HOMEBREW_PREFIX': '/usr/local','COMMAND_MODE': 'unix2003','_CE_M': '','LOGNAME': 'ivanlee','HOMEBREW_REPOSITORY': '/usr/local/Homebrew','XPC_SERVICE_NAME': 'application.com.jetbrains.pycharm.ce.24716539.38684274','PWD': '/Users/ivanlee/Desktop/djangoRegina','PYCHARM_HOSTED': '1','INFOPATH': '/usr/local/share/info:','CONDA_SHLVL': '0','__CFBundleIdentifier': 'com.jetbrains.pycharm.ce','PYTHONPATH': '/Users/ivanlee/Desktop/djangoRegina','SHELL': '/bin/zsh','PYTHONIOENCODING': 'UTF-8','HOMEBREW_BOTTLE_DOMAIN': 'https://mirrors.ustc.edu.cn/homebrew-bottles','OLDPWD': '/','HOMEBREW_CELLAR': '/usr/local/Cellar','USER': 'ivanlee','TMPDIR': '/var/folders/48/byh7qq5528sfmw6vgsxnd9g80000gn/T/','SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.qyJ40GUnAv/Listeners','_CE_CONDA': '','XPC_FLAGS': '0x0','PYTHONUNBUFFERED': '1','__CF_USER_TEXT_ENCODING': '0x1F5:0x0:0x0','LC_CTYPE': 'en_US.UTF-8','HOME': '/Users/ivanlee','DJANGO_SETTINGS_MODULE': 'djangoRegina.settings','TZ': 'UTC','RUN_MAIN': 'true','SERVER_NAME': '1.0.0.127.in-addr.arpa','GATEWAY_INTERFACE': 'CGI/1.1','SERVER_PORT': '8090','REMOTE_HOST': '','CONTENT_LENGTH': '24','SCRIPT_NAME': '','SERVER_PROTOCOL': 'HTTP/1.1','SERVER_SOFTWARE': 'WSGIServer/0.2','REQUEST_METHOD': 'POST','PATH_INFO': '/JRrequest/jr/','QUERY_STRING': 'name=regina','REMOTE_ADDR': '127.0.0.1','CONTENT_TYPE': 'application/x-www-form-urlencoded','HTTP_USER_AGENT': 'PostmanRuntime/7.29.2','HTTP_ACCEPT': '*/*','HTTP_POSTMAN_TOKEN': 'e474691f-e449-4c99-b8ff-d6c625b6c5b6','HTTP_HOST': '127.0.0.1:8090','HTTP_ACCEPT_ENCODING': 'gzip, deflate, br','HTTP_CONNECTION': 'keep-alive','wsgi.input': < django.core.handlers.wsgi.LimitedStream object at 0x7feafca4d160 > ,'wsgi.errors': < _io.TextIOWrapper name = '<stderr>'mode = 'w'encoding = 'utf-8' > ,'wsgi.version': (1, 0),'wsgi.run_once': False,'wsgi.url_scheme': 'http','wsgi.multithread': True,'wsgi.multiprocess': False,'wsgi.file_wrapper': < class 'wsgiref.util.FileWrapper' >}

还可以从这里进行获取

print(request.META.get("HTTP_HOST"))

自定义请求头

这里在最后一行添加了自定义的一对键值对,提交以后我们可以看到META内容里的经过格式化的信息同样也可以通过get方式获得,格式写成HTTP开头

本文链接地址:https://www.jiuchutong.com/zhishi/304487.html 转载请保留说明!

上一篇:浅谈Vue开发最佳实践—事项清单(vue开发小技巧)

下一篇:浅谈逻辑选择器 -- 父选择器它来了!(逻辑电路选择器)

  • cod的全称是什么?(COD的全称是什么?)

    cod的全称是什么?(COD的全称是什么?)

  • iphone11如何分屏操作(iphone11怎么样分屏)

    iphone11如何分屏操作(iphone11怎么样分屏)

  • 支付宝挪车服务在哪里(支付宝挪车服务怎么关闭)

    支付宝挪车服务在哪里(支付宝挪车服务怎么关闭)

  • office另存为快捷键(office文件另存为的快捷键)

    office另存为快捷键(office文件另存为的快捷键)

  • 屏蔽对方消息对方知道吗(屏蔽对方消息对方qq问号)

    屏蔽对方消息对方知道吗(屏蔽对方消息对方qq问号)

  • 手机后面放身份证消磁吗(手机后面放身份证风水)

    手机后面放身份证消磁吗(手机后面放身份证风水)

  • 为什么qq电话打着就自动挂了(为什么qq电话打过去直接秒挂)

    为什么qq电话打着就自动挂了(为什么qq电话打过去直接秒挂)

  • 计算机主机通常指(计算机主机通常指什么)

    计算机主机通常指(计算机主机通常指什么)

  • 苹果手机换后壳后有啥影响(苹果手机换后壳需要多少钱)

    苹果手机换后壳后有啥影响(苹果手机换后壳需要多少钱)

  • 微信有个1但是没有未读消息(微信发现上面有个1是啥意思)

    微信有个1但是没有未读消息(微信发现上面有个1是啥意思)

  • 电脑恢复出厂设置后需要重装系统吗(电脑恢复出厂设置要重新做系统吗)

    电脑恢复出厂设置后需要重装系统吗(电脑恢复出厂设置要重新做系统吗)

  • 为什么加不了群(为什么我加不了微信群)

    为什么加不了群(为什么我加不了微信群)

  • 大王卡看快手为什么还要流量(大王卡看快手为什么扣费)

    大王卡看快手为什么还要流量(大王卡看快手为什么扣费)

  • 微信勿扰模式怎么关闭(微信勿扰模式怎么打开设置)

    微信勿扰模式怎么关闭(微信勿扰模式怎么打开设置)

  • qualcomm snapdragon632是什么处理器(qualcomm snapdragon632g)

    qualcomm snapdragon632是什么处理器(qualcomm snapdragon632g)

  • word艺术字上下型环绕怎么设置(word艺术字体怎么设置上下环绕)

    word艺术字上下型环绕怎么设置(word艺术字体怎么设置上下环绕)

  • 支付宝没有收款权限怎么办(支付宝没有收款权限什么意思)

    支付宝没有收款权限怎么办(支付宝没有收款权限什么意思)

  • 计算机软件通常分为哪几类(计算机应用软件)

    计算机软件通常分为哪几类(计算机应用软件)

  • 微信步数没网能记步吗(微信步数没网能登录吗)

    微信步数没网能记步吗(微信步数没网能登录吗)

  • 计算机资源主要是指(计算机资源主要指)

    计算机资源主要是指(计算机资源主要指)

  • ppt保存了但是内容没了(ppt为什么保存后打开没有了)

    ppt保存了但是内容没了(ppt为什么保存后打开没有了)

  • ps暂存盘已满去哪清理(ps暂存盘已满是啥意思)

    ps暂存盘已满去哪清理(ps暂存盘已满是啥意思)

  • 手机一直正在搜索怎么回事(手机一直正在搜索网络怎么办)

    手机一直正在搜索怎么回事(手机一直正在搜索网络怎么办)

  • 支付宝怎么预约花呗还款日(支付宝怎么预约健康证办理)

    支付宝怎么预约花呗还款日(支付宝怎么预约健康证办理)

  • 如何制作快手九宫格视频(如何制作快手九宫格)

    如何制作快手九宫格视频(如何制作快手九宫格)

  • xsmax能用5g吗

    xsmax能用5g吗

  • 三方代付协议有效吗
  • 装修行业专票的税率是多少
  • 调拨单可以根据哪些单据生成
  • 小企业准则适用于什么企业
  • 母公司投资子公司现金流量表抵消
  • 委托加工消费税纳税义务发生时间
  • 企业年金个人所得税扣除标准
  • 没有票据怎么要账
  • 保修期内免费维修
  • 贴息是谁支付
  • 固定资产报废废铁收入需要交税吗
  • 银行定期存款取钱需要本人吗
  • 存货呆滞是什么意思
  • 子公司向母公司借款
  • 收到个税返还计入成本吗
  • 增值税留抵税额账务处理
  • 红字发票账务处理摘要
  • 普通发票汇总上传
  • 公司修理电脑属于什么费用
  • 外购的货物用于集体福利企业所得税
  • 购买汽车可以开普通发票吗
  • 资本化利息支出是什么意思
  • 固定资产管理的论文
  • 生物资产全套账务处理
  • 机器用油怎么做成的
  • win10怎么删除搜索
  • 鸿蒙系统怎么切换回安卓
  • 公司处理陈旧物怎么处理
  • 收到美金没有结汇会计分录
  • win11粘滞键怎么关闭 重启后又有
  • 简述php可支持哪些数据类型
  • 事业单位收到拨入的工资怎么做账
  • linux怎么用微信
  • dmc32.dll
  • React developer tools调试工具全网最新最全安装教程
  • 税务的基本职能
  • laravel enum
  • kaggle如何入门
  • echarts中国地图代码
  • ai运行环境
  • 应交增值税为负数怎么处理
  • 本年利润年末必须为零吗
  • 弃置费用预计负债的摊余成本
  • 怎么应对降税行业
  • 路由器无线设置模式哪个更快
  • 预算收入支出
  • 实收资本可以去银行查吗
  • sql2008使用教程
  • 核定征收企业可以享受研发费用加计扣除
  • 待报解预算收入是什么
  • 投标报名费如何缴纳
  • 员工工资能抵税吗
  • 公司亏损后盈利分红
  • 小规模纳税人应交税费的二级科目
  • 残保金操作流程
  • 累计摊销的会计分录有哪些
  • 转让古董收入
  • 对外销售产品会计分录
  • 检验费用会计分录
  • 非居民企业所得税税率
  • 借款收据怎样才有法律效力
  • 亏损弥补的会计处理方法
  • 视同销售的几种情况
  • 印花税应税凭证是还是否
  • sql数据库修改数据语句
  • mysql使用正则表达式查询数据并另存为另一列
  • OS X Yosemite系统怎么制作u盘安装盘
  • win8系统硬盘怎样分区
  • linux使用zsh
  • linux多线程编程电子书
  • Android游戏开发案例教程小小弹球
  • opengl入门视频教程
  • css浮动和清除浮动
  • javascript例题
  • ubuntu20.04中文
  • nodejs sleep方法
  • javascript的dom
  • 发票查验结果怎么保存
  • 河南林州在哪三省交界处
  • 白酒消费税怎么计算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号