- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个简单的 API,并尝试测试 POST 请求。 Post 请求应仅基于一个参数创建一条新记录:标题。
我正在使用manage.py test进行测试,并且我已经设置了客户端:
client = rest_framework.test.APIClient()
问题:当我手动提供 URL 时,它工作正常(“snatch”是电影的标题)。
response = client.post('/movies/?title=snatch', format='json')
在这种情况下,我可以在 View request.query_params.get('title') 和 request.data.get('title') 中访问标题。
但是当我尝试在数据参数中传递标题时:
response = client.post('/movies/', data={'title':'snatch'}, format='json')
这应该访问“/movies/?title=snatch”,但实际上只访问“/movies/”。我可以通过 request.data.get('title') 访问标题,但不能通过 request.query_params.get('title') 访问标题。
我应该如何访问 POST 请求中发送的参数?通过request.data访问是正确的方式吗?有人可以给我更好的解释差异和用例吗?
最佳答案
request.data 保存请求正文中发送的数据,即此处使用 data 参数:
response = client.post('/movies/', data={'title':'snatch'}, format='json')
request.query_params 保存查询字符串参数中发送的数据,即此处的标题:
response = client.post('/movies/?title=snatch', format='json')
要执行,如果您发送这样的请求:
response = client.post('/movies/?director=guyritchie', data={'title':'snatch'}, format='json')
可以通过request.query_params获取director参数,通过request.data获取title参数
有关 data 和 query_params 之间差异的更多信息: HTTP POST with URL query parameters -- good idea or not?
关于python - Request.data 或 Request.query_params 来访问 POST 中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55157826/
有人可以帮我解决这个错误吗?因为,代码的结果是 json 格式的成功。但仍然有错误“ undefined variable :query_params”。 我想用这种 json 格式在我的 andro
我只想在给定 query_params 时返回 model_info,否则它应该给出一些错误消息。 我尝试了下面的代码,但是当名称未在查询参数中传递时,它给我 keyerror 。 from rest
我尝试根据 query_params 在 View 集上使用不同的分页类集。 class BlockViewSet(viewsets.ModelViewSet): pagination_cla
我在学习DRF ,并尝试打印 print request.query_params。但是出现错误: print request.query_params AttributeError: 'WS
我正在构建一个简单的 API,并尝试测试 POST 请求。 Post 请求应仅基于一个参数创建一条新记录:标题。 我正在使用manage.py test进行测试,并且我已经设置了客户端: client
我正在使用 DRF 构建一个 RPC 样式的 API,其中每个端点都可以使用 GET 或 POST 方法调用。到目前为止,我已经很好地结合了这些方法: class UpdateUser(APIView
在我的观点之一中,我将附加数据作为 APIView 删除方法中的查询参数传递。我可以使用 request.query_params 获取相同的信息在 View 中。但是当我尝试使用 DRF APIRe
我们使用序列化器来验证进入我们的非基于模型的服务方法的数据。这当然适用于作为 JSON 的 POST,但如果 query_params 中的内容不复杂(不是列表或嵌套),通常也适用于 GET。但是,如
我是一名优秀的程序员,十分优秀!