我目前正在将项目中的所有静态文件引用迁移到django 1.5引入的新{%static%}标记,但我遇到了一个问题,在某些地方,我使用变量来获取内容.有了这个新标签,我不能,有什么办法解决这个问题吗?

当前代码:

<img src="{{ STATIC_URL }}/assets/flags/{{ request.LANGUAGE_CODE }}.gif" alt="{% trans 'Language' %}" title="{% trans 'Language' %}" />

应该是什么(这不起作用):

<img src="{% static 'assets/flags/{{ request.LANGUAGE_CODE }}.gif' %}" alt="{% trans 'Language' %}" title="{% trans 'Language' %}" />

推荐答案

您应该能够将字符串与add template filter连接在一起:

{% with 'assets/flags/'|add:request.LANGUAGE_CODE|add:'.gif' as image_static %}
  {% static image_static %}
{% endwith %}

您try 的操作与static模板标记不兼容,因为它只接受字符串或变量:

{% static "myapp/css/base.css" %}
{% static variable_with_path %}
{% static "myapp/css/base.css" as admin_base_css %}
{% static variable_with_path as varname %}

Django相关问答推荐

如何在Django中更改模型字段名称?

自定义公钥打破Django管理内联逻辑

AttributeError:';ManyToOneRel&39;对象没有属性';attname';

当使用django-tinymce时,我在哪里指定referer?

Templatetag 在 Django 4.2 模板 IF 条件中不起作用

Django中的InvalidOperation错误[]

反向 url django 管理员

过滤查询以获取两个朋友之间的聊天消息?

Django 相当于 COUNT 和 GROUP BY

未捕获的类型错误:$(...).datepicker is not a function(anonymous function)

将现有 auth.User 数据迁移到新的 Django 1.5 自定义用户模型?

如何在 Django 中返回静态 HTML 文件作为响应?

Django 模板列表的第一个元素

Django 模板:通过扩展模板覆盖包含的子模板块

Django unique=True 不工作

Django:何时使用 QuerySet 无

如何使用 Requests 库执行 HTTP DELETE 请求

如何在 django 中使用更少的 css?

如何将本地文件分配给 Django 中的 FileField?

Django - 指定 Django 管理员应该使用哪个模型管理器