我收到以下错误。
所以我有一个django项目,我正在尝试发送api调用并在html模板中打印出api调用的响应。当我发送请求时,在终端内,它打印一个响应200,这意味着请求是好的。然后我将响应传递到模板中以显示收集的repsonse。有谁知道如何正确地将json响应显示到html文件中。
我很确定这个问题来自我所得到的回应并试图传递并显示为文本
JSONDecodeError at /signup
Expecting value: line 1 column 1 (char 0)
Request Method: POST
Request URL: http://127.0.0.1:8000/signup
Django Version: 1.8.6
Exception Type: JSONDecodeError
Exception Value:
Expecting value: line 1 column 1 (char 0)
Exception Location: C:\Users\OmarJandali\AppData\Local\Programs\Python\Python36\lib\site-packages\simplejson\scanner.py in _scan_once, line 118
Python Executable: C:\Users\OmarJandali\AppData\Local\Programs\Python\Python36\python.exe
Python Version: 3.6.1
Python Path:
['C:\\Users\\OmarJandali\\Desktop\\opentab\\opentab',
'C:\\Users\\OmarJandali\\AppData\\Local\\Programs\\Python\\Python36\\python36.zip',
'C:\\Users\\OmarJandali\\AppData\\Local\\Programs\\Python\\Python36\\DLLs',
'C:\\Users\\OmarJandali\\AppData\\Local\\Programs\\Python\\Python36\\lib',
'C:\\Users\\OmarJandali\\AppData\\Local\\Programs\\Python\\Python36',
'C:\\Users\\OmarJandali\\AppData\\Local\\Programs\\Python\\Python36\\lib\\site-packages']
Server time: Thu, 31 Aug 2017 01:23:09 +0000
我将附加我的视图和html模板,我现在在html文件中显示json响应......
这是views.py
def createUserSynapse(request):
url = 'http://uat-api.synapsefi.com'
headers = {
'X-SP-GATEWAY' : 'client_id_asdfeavea561va9685e1gre5ara|client_secret_4651av5sa1edgvawegv1a6we1v5a6s51gv',
'X-SP-USER-IP' : '127.0.0.1',
'X-SP-USER' : 'ge85a41v8e16v1a618gea164g65',
'Contant-Type' : 'application/json',
}
payload = {
"logins":[
{
"email":"test@test.com",
}
],
"phone_numbers":[
"123.456.7890",
"test@test.com",
],
"legal_names":[
"Test name",
],
"extras":{
"supp_id":"asdfe515641e56wg",
"cip_tag":12,
"is_business":False,
}
}
print(url)
print(headers)
print(payload)
call = requests.post(url, data=json.dumps(payload), headers=headers)
response = json.loads(call.text)
print(call)
return render(request, 'tabs/create_user_synapse.html', response)
这是模板......
{% extends "base.html" %}
{% block content %}
<h1>Synapse API Call</h1>
<p>{{ message }}</p>
<p>{{call}}</p>
<p><a href="{% url 'home_page' %}">Home</a></p>
{% endblock %}
答案 0 :(得分:0)
你应该在.json
的响应中调用JSON
(获取返回的requests
的字典表示)然后将其传递给{{1}中的模板} 方法。而不是直接传递它。
这样的事情:
render