【问题标题】:check file extension in html检查html中的文件扩展名
【发布时间】:2018-05-29 18:09:09
【问题描述】:

我正在使用 Django 制作一个项目,并使用 Jinja 进行模板设计。

前奏:
我在 localhost 服务器中有一个文件,但我不知道它是什么类型的文件。
那么,如何在 html 中选择标签来显示文件类型是 <img><video>
我在网上搜索并发现我应该将我的视频上传到 Youtube 和 使用标签在 html 中插入嵌入的 url。但我不想那样做。
我想将文件保存在我的服务器上。

问题:
请提供一些 Jinja 逻辑或其他内容,以便我可以插入一些条件,例如:

if file is image: 
    use <img> tag
else:
    use <video> tag

目前我正在使用这些标签

<img class="img-rounded" src="{{ status.image.url}}" alt="My image" width=400/></a>
 <video width="320" height="240" controls>
    <source src="{{ status.image.url}}" type="video/mp4">

有什么方法可以让我检查 {{status.image.url}} 是视频还是图像。顺便说一下,图像是一个模型字段,它是一个文件,不要被它的名称混淆

【问题讨论】:

  • 文件来自哪里,是静态文件还是模型字段?
  • 我正在使用模型字段。

标签: javascript python html django jinja2


【解决方案1】:

由于我不确定您提供的示例代码中的文件是什么类型的数据结构,因此我假设它是一个字符串。 在这种情况下,您可以创建一个像这样的条件 html 标签

{% if ( (".jpg" in status.image.url) or (".png" in status.image.url) ) %}
    <img src={{status.image.url}}></img>
{% else %}
    <video src={{status.image.url}}></video>         
{% endif %}

【讨论】:

  • 我像这样使用它 image = models.FileField(upload_to="media/image",null=True, blank=True)
  • 所以你的字段是一个带有 url 的字符串,我想这同样适用,但你可以考虑使用 field[-3:] 来检查文件扩展名是否存在于 url 上,你能给个例子网址?
  • 能否请您详细说明一下,我没听懂。通过代码显示它。你可以看到我的帖子,看看我在做什么我已经编辑了我的帖子
  • 抱歉,您的代码不起作用。给我这个错误“无法解析剩余部分:'(".jpg"' from '(".jpg"'..如果我删除了第二个条件然后它工作正常,但不能同时工作
  • 缺少括号,已修复
猜你喜欢
  • 1970-01-01
  • 2014-11-08
  • 1970-01-01
  • 1970-01-01
  • 2012-06-11
  • 2013-02-27
  • 1970-01-01
  • 2011-08-19
  • 2016-09-11
相关资源
最近更新 更多