Django为css加载块

tim*_*tim 47 css django static

我有几页.对于每个页面,我需要加载唯一的CSS.对于所有静态文件,我使用.在index.html的头部,我有:

{% block css  %}

{% endblock %}
Run Code Online (Sandbox Code Playgroud)

但是,例如,在contact.html中我使用:

{% extends "index.html" %}    
{% block css %}
    <link rel="stylesheet" href="{% static "css/contact.css" %}" type="text/css" />
    {% endblock %}
Run Code Online (Sandbox Code Playgroud)

并且它的打印错误: 无效的块标记:'static',预期'endblock'.怎么解决?

Dan*_*man 96

你需要先使用{% load static %}.

  • 有趣的是,我仍然需要加载它,即使我'扩展'具有这个'功能'的模板.我觉得像子模板应该继承这个函数,如果它不覆盖调用它的块.TL; DR - 这实际上有效. (12认同)
  • @swizzard恰恰相反.DRY部分是它使每个模板片段独立,因此它可以在多个地方重用,而不管父项是否已加载库.因此,这是一个功能,而不是一个错误,没有什么可以解决的. (10认同)
  • 认为应该有关于此的官方文档的链接 - 请参阅[自定义库和模板继承](https://docs.djangoproject.com/en/1.6/topics/templates/#custom-libraries-and-template-inheritance ). (2认同)