django - 如何检测 HttpResponse(content_type='text/csv') 何时在 Django 模板中开始?
问题描述
我的模板中有一个按钮,单击该按钮可将特定模型转换为 csv 文件并开始下载。
<a href="{% url 'down' %}" >Download csv File</a>
风景:
def down(request):
allobj=resource.objects.all()
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="resources.csv"'
writer = csv.writer(response)
writer.writerow(['Name','Email','Resource'])
for obj in allobj:
writer.writerow([obj.name,obj.email,obj.resource])
return response
问题:我想显示加载 gif,因为模型很大。单击链接时我可以启动动画,但我需要知道何时停止它。那么有没有办法在模板中检测何时返回响应或何时开始下载?
我知道当视图使用 Ajax 成功运行时很容易检测到,但是我将如何使用 ajax 实现可下载链接,因为它通常具有 Json 响应,但在这里我有一个响应 = HttpResponse(content_type='text/csv')
解决方案
推荐阅读
- angular - Angular Validators:我可以根据它们的验证器为表单元素添加样式吗?
- swift - Swift 4:转义闭包只能通过值显式捕获 inout 参数
- html - 我需要按中心制作“ul”(使用 Bootstrap)
- java - 计算字符串数组中的每个元素
- python - Python - 绘图模块的对象不可调用
- python - Pyplot / Matplotlib:如何实现压缩的 y 轴
- xamarin.android - 受到错误 CS0117 的困扰:“资源 *”不包含 * 的定义
- html - Bootstrap 导航栏布局错误
- python-unittest - 与 xunit 参数一起使用时,nose.run 返回空白文件
- html - svg 外部样式表不起作用