【问题标题】:Django static file with custom filename?具有自定义文件名的Django静态文件?
【发布时间】:2015-08-10 08:14:24
【问题描述】:

这是我的代码:

{% for activity in activities %}
            <div id="div_{{ forloop.counter }}" class="scrollTo divs">
                <video autoplay  poster="{% static '{{ activity.image }}' %}" loop>
                    <source src="{% static '{{ activity.video_web }}' %}">
                    <source src="{% static '{{ activity.video_mp4 }}' %}" type="video/mp4">
                </video>
                <h1 id="div_{{ forloop.counter }}" class="titles">{{ activity.description }}</h1>
                <h3 class="descriptions">{{ activity.second_description }}</h3>
            </div>
            {% endfor %}

问题是,'{{ activity.image }}' 是字面意思,这就是它在最终 html 中获得的值。如何让它给出activity.image 等的实际值?

【问题讨论】:

  • {{activity.image.url}} 替换{% static '{{ activity.image }}' %} 对你有用吗?
  • activity.image 只是图片的名称...
  • {% static activity.image %} 有效吗?
  • 图片一定是静态资源吗?它如何知道在哪个文件夹中查找它?将图像存储为ImageField 可能会更好,因为如果您决定移动/删除资产,您的数据库将获得错误数据
  • {% static activity.image %} 不起作用。

标签: python django django-templates


【解决方案1】:

只要activity.image是一个字符串,你就可以输入:

{% static activity.image %}

{{ }} 括号仅用于将变量打印到文档中。在{% %} 标签内,您可以简单地使用变量名,无需额外的括号。

如果activity.imageFileField,那么这不是服务它的方式。详情请见https://docs.djangoproject.com/en/1.8/topics/files/#using-files-in-models

【讨论】:

  • 所有这些都是简单的 CharFields,带有图像/视频的名称等。
  • 我得到:“images/Beach.png”的反向参数“()”和关键字参数“{}”未找到。尝试了 0 个模式:[]
  • 对不起,我的错误是static,而不是url。我现在正在编辑答案。
猜你喜欢
  • 2015-04-28
  • 1970-01-01
  • 2010-09-20
  • 1970-01-01
  • 1970-01-01
  • 2021-06-18
  • 2011-02-18
  • 2013-10-10
  • 1970-01-01
相关资源
最近更新 更多