簡單的問題,我在視圖中的 POST 回傳一個 json 格式字典
nested_data = {
'name': cleaned_data3['theme_name'],
'visualStyles': {
'barChart': {
'*': {
'general': [{
'responsive': cleaned_data2['responsive'],
'keepLayerOrder': cleaned_data2['maintain_layer_order']
}],
'legend': [{
'show': cleaned_data['show'],
'position': cleaned_data['position'],
'showTitle': cleaned_data['show_title'],
'labelColor': {
'solid': {
'color': '#666666'
}
},
'fontFamily': cleaned_data['font'],
'fontSize': cleaned_data['font_size']
}],
}
}
}
}
然后我將使用以下格式回傳格式化為 json 的代碼:
return JsonResponse(nested_data)
這向我展示了瀏覽器中呈現的 json,但是我該如何下載這個回傳值?在我的 index.html 中,提交按鈕正在呈現視圖的回傳,但我需要提交表單并將內容下載到 .json 檔案中,需要將某些內容放入 href 中嗎?
<input type="submit" value="Submit">
<a href="{{ xxx }}" download>DOWNLOAD</a>
uj5u.com熱心網友回復:
您應該定義一個函式來在 views.py 或 index.html 中撰寫 json。
with open(file_name, "wb") as f:
f.write(data)
如果你想在views.py中寫它,你可以在js代碼部分寫下面幾行。
csrfmiddlewaretoken: "{{ csrf_token }}"
uj5u.com熱心網友回復:
您需要將回應內容型別更改為application/force-download.
response = JsonResponse(nested_data)
response['Content-Type'] = 'application/force-download'
return response
# or ...
return HttpResponse(
simplejson.dumps(nested_data),
content_type='application/force-download'
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/352953.html
