1. ホーム
  2. django

[解決済み] django 1.5 - 静的タグの中で変数を使用する方法

2022-08-12 19:18:40

質問

私は現在、プロジェクト内のすべての静的ファイル参照を、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 テンプレート・フィルタ :

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

あなたが行おうとしていることは 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 %}