Используя Django, я хочу сделать некоторые данные доступными для загрузки.
Мой вызов jQuery пока выглядит так:
$.getJSON("/get_data",
{ users: users, study: "{{study.id}}" },
function(json){
alert('some data!');
}
);
Это вызывает одно из моих представлений Django, которое, в свою очередь, генерирует некоторый JSON и пытается сделать этот текст JSON в файле для загрузки
jsonResponse = json.dumps(data, cls=DjangoJSONEncoder)
jsonFile = cStringIO.StringIO()
jsonFile.write(jsonResponse)
response = HttpResponse(jsonFile, mimetype='application/json')
response['Content-Disposition'] = 'attachment; filename=data.txt'
return response
. Однако это не работает. Посмотрев вокруг некоторое время, я считаю, что должен что-то изменить на обоих концах — Javascript и код python/Django — но я не совсем понимаю, что именно.
Для Python меня больше всего беспокоит использование cStringIO(особенно тот факт, что я не могу выполнить close для jsonFile перед возвратом без запроса «ValueError :Операция ввода-вывода для закрытого файла» ).
Возможно, мне также следует использовать FileWrapper (, как в этом посте )., но я получаю одинаковые результаты с ним и без него.
Что касается Javascript, я не уверен, что должно войти в мою функцию обработчика успеха.
Любые указатели будут очень признательны!