У меня представление, которое внезапно перестало работать. Очевидно, что-то должно было измениться, но я понятия не имею, что.
представление должно возвращать pdf-файл (т. е. content-disposition является вложением), когда представление вызывается, браузер пытается загрузить pdf-файл, но независимо от того, что это всегда 0 байт.
Я регистрируюсь здесь и там, чтобы отладить проблему. Я вижу, что когда объект ответа возвращается из generate_pdf, он имеет правильное содержимое. Как-то между там и клиентским браузером он просто пропадает.
У кого-нибудь есть идеи?
джанго 1.3, nginx, uwsgi
просмотры.py
def get(self, request, *args, **kwargs):
...
return generate_pdf(request, 'ps_pdfbase.html', context_dict, returned_file_name)
функция generate_pdf
...
myfile = StringIO()
result_obj = pisa.CreatePDF(file_data, myfile)
logging.debug('pdf result_obj:\n\tsize:%s\n\terr:%s\n\tlog:%s\n\ttext:%s' % (myfile.tell(),
result_obj.err,
result_obj.log,
result_obj.text, ))
myfile.seek(0)
response = HttpResponse(myfile, mimetype='application/pdf')
logging.debug('response content: %s' % response.content)
response['Content-Disposition'] = 'attachment; filename=' + slugify(returned_file_name) + '.pdf'
return response
/var/log/uwsgi/your-app
или/var/log/nginx/your-site
- person Ric   schedule 24.02.2013