使用 Django RequestFactory 而不是表单数据的 POST 文档

2024-03-09

我想构建一个测试中间件的请求,但我不希望 POST 请求始终假设我正在发送表单数据。有没有办法设置request.body根据生成的请求django.test.RequestFactory?

即,我想做类似的事情:

from django.test import RequestFactory
import json

factory = RequestFactory(content_type='application/json')
data = {'message':'A test message'}
body = json.dumps(data)
request = factory.post('/a/test/path/', body)

# And have request.body be the encoded version of `body`

上面的代码将无法通过测试,因为我的中间件需要将数据作为文档传递request.body不作为表单数据request.POST。然而,RequestFactory始终将数据作为表单数据发送。

我可以这样做django.test.Client:

from django.test import Client
import json

client = Client()
data = {'message':'A test message'}
body = json.dumps(data)
response = client.post('/a/test/path/', body, content_type='application/json')

我想做同样的事情django.test.RequestFactory.


RequestFactory 内置了对 JSON 负载的支持。您不需要先转储数据。但是你应该将内容类型传递给post,而不是实例化。

factory = RequestFactory()
data = {'message':'A test message'}
request = factory.post('/a/test/path/', data, content_type='application/json')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Django RequestFactory 而不是表单数据的 POST 文档 的相关文章

  • Pip install 导致此错误“ cl.exe' failed with exit code 2 ”

    我已经阅读了有关此错误的所有其他问题 但令人沮丧的是 没有一个给出有效的解决方案 如果我跑pip install sentencepiece在命令行中 它给出了以下输出 src sentencepiece sentencepiece wra
  • 如何在 Django 管理中以表格格式显示添加模型?

    我刚刚开始使用 Django 编写我的第一个应用程序 为我的家庭设计的家务图表管理器 在本教程中 它向您展示了如何添加相关对象 http docs djangoproject com en dev intro tutorial02 cust
  • 创建圆形图像 PIL Tkinter

    Currently I have a zoom feature in my application that works very well however I d like the actual zoom box to be a circ
  • 将 matplotlib png 转换为 base64 以在 html 模板中查看

    背景 你好 我正在尝试制作一个简单的网络应用程序 按照教程计算阻尼振动方程 并将结果的 png 返回到 html 页面 然后将其转换为 Base64 字符串 Problem 该应用程序运行正常 只是在计算结果时返回损坏的图像图标 可能是因为
  • 使用opencv计算深度视差图

    我无法使用 opencv 从视差图计算深度 我知道两个立体图像中的距离是用以下公式计算的z baseline focal disparity p 但我不知道如何使用地图计算视差 我使用的代码如下 为我提供了两个图像的视差图 import n
  • 十六进制数的按位异或

    我们如何在 Python 中对十六进制数进行异或 例如 我想要异或 ABCD and 12EF 答案应该是 B922 我使用了下面的代码 但它给出了错误的结果 xor two strings of different lengths def
  • 可移植的非关系数据库

    我想尝试 尝试非关系数据库 最好的解决方案是 便携式 这意味着它不需要安装 理想情况下 只需将目录复制粘贴到某个地方即可使其工作 我不介意第一次使用时是否需要编辑一些配置文件或运行配置工具 可从 python 访问 适用于 Windows
  • 理解@property装饰器和继承[重复]

    这个问题在这里已经有答案了 这里是 Python 3 以防万一它很重要 我试图正确理解如何实现继承 property使用 我已经搜索了 StackOverflow 并阅读了大约 20 个类似的问题 但无济于事 因为他们试图解决的问题略有不同
  • 向 Python 2.6 添加 SSL 支持

    我尝试使用sslPython 2 6 中的模块 但我被告知它不可用 安装OpenSSL后 我重新编译2 6 但问题仍然存在 有什么建议么 您安装了 OpenSSL 开发库吗 我必须安装openssl devel例如 在 CentOS 上 在
  • 在ansible中合并字典

    我目前正在构建一个使用 ansible 安装 PHP 的角色 并且在合并字典时遇到一些困难 我尝试了多种方法来做到这一点 但我无法让它像我想要的那样工作 A vars file my default values key value my
  • 如何使用 python 操作系统更改驱动器?

    我正在尝试更改当前目录C to Y 我试过 import os os chdir Y 但我不断收到错误消息 提示无法找到驱动器 本质上我正在寻找相当于 cd d cmd 中的命令 你确定吗Y 确实是有效的驱动器号吗 Try os chdir
  • PyQt - 如何检查 QDialog 是否可见?

    我有个问题 我有这个代码 balls Ball for i in range 1 10 因此 当我说 Ball 时 这将在 QDialog 上绘制一个球 然后当这完成后 我正在移动球QDialog无限循环中 我想说类似的话while QDi
  • Flask SQLAlchemy 与 MyPy - 模型类型错误

    我遇到了以下组合问题flask sqlalchemy and mypy 当我定义一个新的 ORM 对象时 例如 class Foo db Model pass where db是使用创建的数据库SQL炼金术应用于flask app mypy
  • 请求response.iter_content()获取不完整的文件(1024MB而不是1.5GB)?

    您好 我一直在使用此代码片段从网站下载文件 到目前为止 小于 1GB 的文件都很好 但我注意到 1 5GB 文件不完整 s is requests session object r s get fileUrl headers headers
  • 向量化 numpy bincount

    我有一个 2d numpy 数组 A我要申请np bincount 到矩阵的每一列A生成另一个二维数组B由原始矩阵每列的 bincounts 组成A 我的问题是 np bincount 是一个采用一维数组的函数 它不是像这样的数组方法B A
  • 网页抓取 - 如何识别网页上的主要内容

    给定一个新闻文章网页 来自任何主要新闻来源 例如时报或彭博社 我想识别该页面上的主要文章内容 并丢弃其他杂项元素 例如广告 菜单 侧边栏 用户评论 在大多数主要新闻网站上都可以使用的通用方法是什么 有哪些好的数据挖掘工具或库 最好是基于Py
  • 从 C 线程调用 Python 代码

    我对从 C 或 C 线程调用 Python 代码时如何确保线程安全感到非常困惑 The Python 文档 http docs python org c api init html non python created threads似乎是
  • django模板中获取用户信息

    从 django 模板获取用户信息的最佳方法是什么 例如 如果我只想 如果用户已登录 则显示 欢迎 用户名 否则 显示登录按钮 我正在使用 django 注册 身份验证 当前 Django 版本的替代方法 if user is authen
  • 在 Tensorflow 2.0 中的简单 LSTM 层之上添加 Attention

    我有一个由一个 LSTM 和两个 Dense 层组成的简单网络 如下所示 model tf keras Sequential model add layers LSTM 20 input shape train X shape 1 trai
  • python中匹配3个或更多相同的字符

    我正在尝试使用正则表达式在字符串中查找三个或更多相同的字符 例如 你好 不匹配 噢 会的 我尝试过做类似的事情 re compile 1 3 a zA Z re compile w 1 5 但似乎都不起作用 w 1 2 是您正在寻找的正则表

随机推荐

  • 验证 SSL/X.509 证书是否由另一个证书签名

    Question 如何使用 PyOpenSSL 或 Twisted 验证 X 509 证书是否由另一个证书签名 我希望客户端验证收到的服务器证书是否是签署其客户端证书的证书 我浏览了 PyOpenSSL 文档 似乎找不到任何关于如何与建立
  • 无法在 Golang 中的 GET 请求标头中传递 Bearer 令牌

    我正在使用 oauth2 访问第三方 API 我可以正常获取访问令牌 但是当我尝试通过在请求标头中传递不记名令牌来调用 API 时 会出现 401 未经授权 错误 尽管当我尝试通过 POSTMAN 通过将标头传递为 Authorizatio
  • 屏蔽张量的损失

    假设我有像这样的 logits 4 3 0 5 2 7 0 0 0 5 2 3 0 0 0 显然 第一个示例中的最后两个和第二个示例中的最后三个被屏蔽 即它们为零 并且不应影响损失和梯度计算 如何计算此 logits 和相应标签之间的交叉熵
  • 如何检查打字稿中的数组列表中是否有重复项?

    您好 目前我的打字稿代码中有一个这样的数组 我如何检查数组中是否有一个项目出现两次 我希望创建函数 如果传递的数组包含重复元素 它将返回 true 或 false let tagonTypes Array
  • 为什么不使用base128? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动
  • 从 Exif 数据计算照度

    我如何通过iPhone相机计算勒克斯或照度 我已经计算了所有exif数据 如下所示 key FocalLength value 3 85 key MeteringMode value 5 key ShutterSpeedValue valu
  • 具有固定页眉的真正粘性页脚?

    首先 请阅读整个问题 以便您能够充分理解我在寻找什么 谢谢 这是我长期以来一直在尝试研究的一个问题 并且困扰了我一段时间 我可以有一个真正的粘性页脚和固定页眉吗 如何实现带有固定页眉的粘性页脚 我无法向正文或内容添加填充或边距 因为这会破坏
  • Node.js Busboy 分别解析字段和文件

    我想知道是否可以让 Busboy 分别解析字段和文件 我已经删除了bodyParser因为您可以很容易地用临时文件填充硬盘 例如 解析器发布字段的中间件 用于所有 POST 请求 if req method POST var form ne
  • Javascript - 如何替换子字符串?

    这是一个简单的问题 我想使用 Javascript 在客户端将一个子字符串替换为另一个子字符串 原始字符串是 original READ ONLY 我想更换 READ ONLY with READ WRITE 请问有什么快速答复吗 可能有一
  • C# / F# 性能比较

    网络上是否有任何 C F 性能比较来显示新 F 语言的正确用法 自然 F 代码 例如函数式 不可变 比自然 命令式 可变面向对象 C 代码慢 然而 这种 F 比通常的 C 代码要短得多 显然 这是一个权衡 另一方面 在大多数情况下 您可以实
  • VHDL 中数组的硬件表示

    使用 VHDL 我想要一些寄存器 每个寄存器存储 16 位 所以我发现VHDL有一个内置数组 我想用它来存储iy中每个元素的16位 所以我想知道VHDL是否将此数组映射到实际寄存器 简短的回答是否定的 数组类型不映射到寄存器 长答案 VHD
  • 升级到 OSX Mojave 后 GCP 将无法工作

    升级到 OSX Mojave Developer beta 2 后 每次使用 GCP 以及重新安装时都会出现错误 ERROR gcloud failed to load No module named zlib gcloud main im
  • php中超过24小时的字符串

    有一个语法错误 您的变量名称是 hour 但最后您使用了 hours time1 strtotime 02 40 00 time2 strtotime 34 20 00 diff time2 time1 hour floor diff 60
  • QT:将我的域对象基于 QObject 是一个好主意吗?

    我对于将 QT 框架与 C 结合使用相当陌生 我想知道 将我的域类基于 QObject 是一个好主意吗 或者我应该只对层次结构中较高的类执行此操作 更接近用户界面级别 QT文档对此并不清楚 摘自QT文档 元对象系统是 C 的扩展 使该语言更
  • 在 iOS 中 - 如何使 UILabel 适合其文本而不改变其位置?

    我正在打电话sizeToFit on a UILabel其中有右对齐的文本 它缩小了高度和宽度UILabel并将文本调整到左上角UILabel 现在 的位置UILabel是不正确的 我怎样才能使UILabel留在原来的位置 右对齐 还是移动
  • 如何使用 mod_rewrite/htaccess 通过锚点检测并重定向 URL?

    我见过很多相反的例子 但我希望从锚点 哈希 URL 转到非锚点 URL 如下所示 From http old swfaddress site com page name To http new html site com page name
  • 删除laravel中的特定迁移

    根据 laravel 文档 要回滚最新的迁移操作 您可以使用 rollback 命令 此命令回滚最后 批次 的迁移 其中可能包括多个迁移文件 php artisan migrate rollback 您可以通过向回滚命令提供步骤选项来回滚有
  • 无法使用 Java 1.8 在 JBoss 5.1 中编译 JSP 文件

    无法使用 Java 1 8 在 JBoss 5 1 中编译 JSP 文件 能够编译常规Java文件 甚至能够完成没有JSP的Spring项目 如果我们保留这些 JSP 文件的编译类文件 它就可以正常工作 以下是我尝试运行 JSP 文件时遇到
  • 如何使用 React.js 循环 JSX 中的对象

    所以我有一个 React js 组件 我想循环遍历我导入的对象以向其添加 HTML 选项 这是我尝试过的 既丑陋又不起作用 import React from react import AccountTypes from data Acco
  • 使用 Django RequestFactory 而不是表单数据的 POST 文档

    我想构建一个测试中间件的请求 但我不希望 POST 请求始终假设我正在发送表单数据 有没有办法设置request body根据生成的请求django test RequestFactory 即 我想做类似的事情 from django te