Django JSONDecodeError ... = get_response(请求)

时间:2018-08-19 09:32:53

标签: python json django

当我运行服务器并查看localhost时,出现此错误:

JSONDecodeError发生...跟踪响应= get_response(请求)

我在做什么错了?

我的代码是:

from django.shortcuts import render
import json
import requests


def home(request):
    response = requests.get('https://api.ipify.org')
    data = response.json()
    dump = json.dumps(data)
    return render(request, 'catalog/home.html', {'ip': dump})

2 个答案:

答案 0 :(得分:1)

将URL更改为https://api.ipify.org?format=json,您的代码即可使用。

或者,您仍然可以使用https://api.ipify.org URL,但是由于它直接输出IP,因此您应该跳过JSON解析,而跳过return render(request, 'catalog/home.html', {'ip': response.content})

答案 1 :(得分:0)

谢谢大家! blhsing给了我我想做的事。现在我有了正确的格式。 输出是{...},我得到的格式像https://www.webforefront.com/static/images/beginningdjango/Figure_12-1.png ...我需要的是。 我将在其他APP上尝试使用此功能。

我还将尝试以下操作:(使用相同的地址blhsing给了我,它也可以工作。只有输出更改了) 返回HttpResponse(dump,content_type ='application / json')

...我可以使用json发出GET请求,并且APP知道格式。