我写了一个视图函数来处理包含来自django(labview)之外的源的json数据的发布请求。我只是在测试它,所以它看起来像这样
def post_entry(request):
'''Process incoming json string
'''
if request.method == 'POST':
post_data = request.body
# Return a response
return HttpResponse('data received OK')
我已经写了一个测试来测试它,它通过得很好:
def test_post_entry_view_good_post_data(self):
'''post_entry view should return a 200 status if valid
'''
data = {'DHTP Data': ['10', '50.296', '50.94', '50.418', '50.425', '50.431', '50.94'],
'Test String': 'My Test String'}
request_url = reverse('post_entry')
response = self.client.post(request_url, content_type='application/json',
data=dumps(data))
# Should return a 200 response indicating ok
self.assertEqual(response.status_code, 200)
但是,当Labview发布数据时,post_entry
将返回403禁止的错误。我猜这是由于不存在csrf令牌,但是为什么在这种情况下测试通过?
测试客户端围绕CSRF功能工作。参见https://docs.djangoproject.com/zh-CN/1.9/ref/csrf/#testing
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句