python - 静态文件和 django 模板

标签 python css django dom django-templates

我想把我所有的link标签 <head> .

但是,我不知道如何渲染所有 link head 中的标签当我通过内置的 include 包含共享模板时,我的 DOM标签。所以我的link标签会在我碰巧包含共享模板的任何地方呈现。我在下面添加了代码以更好地说明我的问题。

布局:

<html>
<head>
    {% block references %}{% endblock %}
</head>
<body>
    {% block content %}{% endblock %}
</body>
</html>

使用模板扩展布局:

{% extends "layout.html" %}
{% load staticfiles %}
{% block references %}
    <link rel="stylesheet" href="{% static "myStylesheet.css" %}" type="text/css">
{% endblock %}
...
{% include "mySharedTemplate.html" %}
...

共享模板。请注意,此模板在我的一些但不是全部模板之间共享:

{% load staticfiles %}
<link rel="stylesheet" href="{% static "mySharedTemplateStylesheet.css" %}" type="text/css">
...

有没有办法把我所有的link head 中的标签使用共享模板时我的 DOM?有没有完全不同或更好的方法来做到这一点?我的第一个 django 元素已经一周了,所以即使是基本功能的建议也可能对我有帮助!

最佳答案

我认为您正在寻找{{block.super}}

例如Layout.html:

<html>
<head>
{% load staticfiles %}
{% block references %}
   <link rel="stylesheet" href="{% static "mySharedTemplateStylesheet.css" %}" type="text/css">

{% endblock %}
</head>
<body>
    {% block content %}{% endblock %}
</body>
</html>

在 Template.html 中:

{% extends "layout.html" %}
{% load staticfiles %}
{% block references %}
    {{block.super}}
    <link rel="stylesheet" href="{% static "myStylesheet.css" %}" type="text/css">
{% endblock %}

如果您不想在所有页面中使用mySharedTemplateStylesheet.css,您只需不要使用{{block.super}},例如Template2.html:

 {% extends "layout.html" %}
    {% load staticfiles %}
    {% block references %}
        <link rel="stylesheet" href="{% static "myStylesheet.css" %}" type="text/css">
    {% endblock %}

关于python - 静态文件和 django 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17227249/

相关文章:

python - ALLOWED_HOSTS 和 Django

python - 在 python 列表中使用正则表达式(re.search)

jquery - 在输入焦点/模糊上删除/添加 CSS 类

css - 如何跨越CSS列

python - 是否可以使用 "manage.py test"在 Django 中运行单个 doctest

python - 如何制作 python 正则表达式?

python - 我的HelloWorld队列是否正常工作?

python - sqlalchemy 嵌套继承/多态关系

css - 弹出框在使用表格条纹样式的表格行上无法正常工作

django - 使用 factoryboy 作为 django User 和 py.test