【问题标题】:Django Admin Inline FileField link to open in new tabDjango Admin Inline FileField 链接在新选项卡中打开
【发布时间】:2019-02-17 04:18:39
【问题描述】:

我在 Django Admin 的内联中有字段字段。该文件的链接工作正常,上传的文件显示在浏览器中。现在我想让链接在新标签页中打开。我想最快的方法是将 target="_blank" 插入到 html 中,但似乎没有模板 - 也许它是由 python 代码生成的。你能帮我确定注射的位置吗?

models.py:

class Anhang(models.Model):
   antrag = models.ForeignKey(Antrag)
   upload = models.FileField(upload_to=subfolderpath)

admin.py:

class AnhangInline(admin.TabularInline):
   model = Anhang
   extra = 0
   show_change_link = False

在管理员中:

非常感谢。

解决方案,感谢@JulienS:
1. 覆盖应用中的模板:
django/contrib/admin/templates/admin/widgets/clearable_file_input.html
2. 在模板中插入:
<a target="_blank" href="{{ widget.value.url }}">

【问题讨论】:

  • 也许你需要分享一些代码?
  • @houzayfarifai 完成

标签: django django-models upload django-templates


【解决方案1】:

我想你在这个django\contrib\admin\templates\admin\widgets 上找到了一个指向 URL 的小部件,你在其中安装了 django。

【讨论】:

  • 是的,我看了一下,我猜“clearable_file_input.html”是正确的,还有widget.value.url。但它是在哪里生成的呢?
  • 啊,我的错,这是解决方案。我只是覆盖模板并添加“target="_blank"。工作!
  • 为您服务
猜你喜欢
  • 2012-04-25
  • 1970-01-01
  • 2015-11-28
  • 2012-05-03
  • 2014-06-24
  • 2015-07-24
  • 2018-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多