2015-10-14 54 views
0

繼承承認載入標籤,我有以下base.html文件如何讓Django的模板在從基礎模板

{% load static from staticfiles %} 
<html> 
    <title>COOL| {% block title %} Sometitle {% endblock %}</title> 
<body> 

    <!--- BEGIN INSERT CONTENT FOR OTHER PAGE HERE--> 
    {% block 'body' %} 
    {% endblock %} 

而且我有somefile.html這是由上述包裹。

{% extends 'base.html'%} 
{% block title %} Contact {% endblock %} 
{% block 'body' %} 

<h1> <a href="{%static "files/somefile.csv" %}">CSV</a> </h1> 

{% endblock %} 

的消息我得到的是這樣的:

Invalid block tag: 'static', expected 'endblock' 

我希望somefile.html將繼承{% load static from staticfiles %}base.html。但事實並非如此。什麼是正確的做法?

回答

5

您應該在每個模板中加載標籤。

+0

我意識到這一點,但我想Django使用[DRY](https://docs.djangoproject.com/en/1.8/misc/design-philosophies/#don-t-repeat-yourself-dry)概念? – pdubois

+0

@pdubois嗯,這是Django核心團隊的一個問題:) – Nick

+1

@pdubois不會混淆DRY與理智和可維護性,一個大型項目可能有多個自定義標籤,並不是每個模板都需要處理所有標籤。 – Wtower