2013-10-11 59 views
0

有沒有辦法在每個模板文件中自動執行{% load staticfiles %}
它會顯着影響性能嗎?指定要在每個Django模板中加載的靜態文件?

如果這是一個不好的做法,我不知道下面的用例是否可以。
我* 包括 *荷蘭國際集團在循環中的文件,並裝載staticfiles,

{% for a in a_list %} 
    {% include "a.html" %} 
{% endfor %} 

a.html

{% load staticfiles %} 
use {% static "a.html" %} 
+0

如果您的模板中的html使用它們,您需要在每個模板中加載靜態文件。這是由Django推薦的。無需使用循環。只需要加載靜態文件。 –

+0

我使用重複包含的靜態過濾器。並想知道是否可以 - 練習 – eugene

+1

這不是一個過濾器,靜態是一個標籤。你很好。 –

回答

3

你可以有static標籤自動裝入集使用template.baseadd_to_builtins方法的模板中可用的默認標記:

from django.template.base import add_to_builtins 
add_to_buildins('django.templatetag.static') 

此代碼可能會放在您的settings.py文件或其他任何自動導入的位置。

+1

作爲一個快速提示,從Django 1.9起可以通過'Engine'設置進行操作(可能不推薦使用,不太確定)。查看[ticket](https://code.djangoproject.com/ticket/17085)和一些[documentation](http://django.readthedocs.org/en/latest/ref/templates/api.html) 。也許答案可能會更新,然後我將刪除評論。 – sthzg