Django-get()缺少1个必需的位置参数:“ header”

时间:2018-08-23 21:41:06

标签: python django rest urllib

我正在尝试开发REST-ful API,IoT设备将数据上传到服务器。我在开发过程中使用python程序来模拟urllib

有时程序成功上传,但其他时候返回带有以下Django错误信息的HTTP 500

TypeError at /logdata/
get() missing 1 required positional argument: 'header'
Request Method: POST
Django Version: 2.0.3
...
Exception Location: /usr/local/lib/python3.5/dist-packages/django/middleware/clickjacking.py in process_response, line 26
Python Executable: /usr/local/bin/uwsgi
Python Version: 3.5.3

我找到了一个处理HTML表单的similar SO question,但是我只是使用URL编码的数据执行原始POST请求,因此不需要HttpResponseRedirect吗?我只会在发送无效数据时返回HttpResponseBadRequest,而在请求有效时返回application/json数据。

这是我的Django视图的简化版本:

def publish_data(request):
    params = request.POST
    if validate(params):
        ...    # do stuff with params
        return HTTPResponse(my_data, content_type="application/json")
    else:
        return HttpResponseBadRequest('Invalid Data')

异常位置似乎与设置X-Frame-Options: SAMEORIGIN有关,我尝试在Django视图中手动进行设置,但是仍然出现HTTP 500错误。我可以检查一些常见陷阱的想法吗?

0 个答案:

没有答案