当我运行服务器并查看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})
答案 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知道格式。