我正在使用WeasyPrint創建PDF。這些PDF可以輕鬆達到120頁以上,並且最多可能需要2分鐘才能呈現。發生這種情況時,該頁面看起來是凍結的並且沒有響應。我期待到芹菜,但直到我到達那裏,我想實現一個進度條:爲Django WeasyPrint顯示進度條PDF導出
完美的解決方案: 不知何故搶PDF導出的當前狀態,並顯示在一個進度條
可接受的解決方案: 顯示一個正在移動的進度條,告訴用戶可能需要兩分鐘時間,直到PDF顯示在瀏覽器的顯示/下載本身中。
任何想法?謝謝!
當前views.py:
def course_view(request):
students = Student.objects.filter(student_courseid__course_accid = request.user.userprofile.course_accid)
html_template = get_template('student/student_pdf_all.html')
rendered_html = html_template.render({'student': students}, request)
pdf_file = HTML(string=rendered_html, base_url=request.build_absolute_uri()).write_pdf(stylesheets=[CSS(settings.STATIC_ROOT + '/css/pdf.css')])
http_response = HttpResponse(pdf_file, content_type='application/pdf')
filename = str(request.user.userprofile.course_accid) + ".pdf"
http_response['Content-Disposition'] = 'filename="{}"'.format(filename)
return http_response
謝謝你的迴應!你能否指點我一些資源來解釋「擊中後端」?我目前不知道該怎麼做。 – kftb
對不起,通過點擊後端,我的意思是讓ajax調用一個url。你可以找到很多例子(Django with ajax)。 – RA123