gpt4 book ai didi

python - Django 模板 : Use different css for pages

转载 作者:技术小花猫 更新时间:2023-10-29 11:16:01 25 4
gpt4 key购买 nike

Django 的新手,我想为不同的页面使用不同的 css 文件 - 即 page1.css 用于 page1.html,page2.css 用于 page2.html。有没有办法在扩展 base.html 的同时做到这一点?

在 base.html 中

{% load staticfiles %}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>{% block title %}Default Title{% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />

<!-- css -->
if page1.html
<link rel="stylesheet" href="{% static "css/page1.css" %}">

if page2.html
<link rel="stylesheet" href="{% static "css/page2.css" %}">

if page3.html
<link rel="stylesheet" href="{% static "css/page3.css" %}">

</head>
<body class="{% block body_class %}{% endblock %}">
{% block content %}{% endblock%}
</body>
</html>

在 page1.html 中

    {% extends "base.html" %}
{% load staticfiles %}

{% block body_class %}page1{% endblock %}
{% block title %}Page1{% endblock %}

{% block content %}
Page 1
{% endblock content %}

最佳答案

您可以使用适用于 {% block content %} 的相同概念,您可以逐页填写或扩展它。

因此,在 base.html 中,在 head 部分(或您想要加载 CSS 的任何地方)创建一个名为 styles 的 block :

{% block styles %}
{% endblock %}

现在,您可以在任何使用 base.html 的模板中以每页为基础扩展此 block :

示例:page1/template-view.html

{% extends "base.html" %}
{% load staticfiles %}

{% block styles %}
<link rel="stylesheet" href="{% static 'css/page1.css' %}">
{% endblock %}

关于python - Django 模板 : Use different css for pages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25386868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com