【问题标题】:django - render a file of a model to templatedjango - 将模型文件渲染为模板
【发布时间】:2012-10-27 17:16:32
【问题描述】:

我有一个名为广告的模型。该模型具有文本字段、标题字段和文件字段。

我已成功将所有 3 个字段保存到模型中。

现在我需要在模板中显示它们。我的愿景是:

ads = Advertisement.objects.all()
return render_to_response('page.html', {'ads':ads},context_instance=RequestContext(request))

在我的 page.html 中:

{% for each_ad in ads %}
<p>{{each_ad.title}}</p>
<p>{{each_ad.text}}</p>
<p><a href="/ads/{{each_ad.file_pdf}}>{{each_ad.file_pdf.name}}</a></p>
{% endfor %}

这看起来对吗?如果没有,请告诉我方法,以便我学习。谢谢!

【问题讨论】:

  • 你想做什么?在 HTML 页面中渲染 PDF?
  • 是的! :D。我只是希望 pdf 可以下载。我现在将更新我的代码

标签: python django file render


【解决方案1】:

PDF链接是否下载取决于用户的浏览器。

添加 target="_blank" 将在新窗口/标签中打开 pdf:

<p><a href="/ads/{{each_ad.file_pdf}}" target="_blank">{{each_ad.file_pdf.name}}</a></p>

为了确保它始终在每个环境中下载都比较困难,您需要设置您的 .htaccess(如果您使用的是 apache,请按照以下内容:Force a file or image to download using .htaccess)或将其强制为 attachment从 Django 生成 PDF。

【讨论】:

  • 我不想将整个 html 页面呈现为 pdf!这不是我想要的。我只想将 pdf 文件呈现到 html 页面,以便用户可以单击并下载 pdf 文件。仅此而已
  • 好的,谢谢,打开或下载pdf几乎一样,所以打开也很好。所以我的视觉代码没问题?
猜你喜欢
  • 2018-01-17
  • 2022-07-22
  • 2012-01-08
  • 2014-03-15
  • 1970-01-01
  • 2015-09-21
  • 2018-05-20
  • 2018-11-05
  • 1970-01-01
相关资源
最近更新 更多