Django的Templates学习

本文详细介绍了Django模板继承的使用,包括`extends`、`block`和`include`标签。通过实例展示了如何覆盖父模板内容,以及如何利用`block.super`调用父模板内容。还提到了静态文件的引用方法,并强调了DEBUG模式对静态文件加载的影响。此外,文章提及了模板继承的效率优于`include`,并提供了设置STATIC的建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Templates的模板继承extends,block以及include的用法

{% extends 'home.html' %}
{#注意! 如果是继承的父模板, 则只能在父模板的block坑里面填内容,才会被显示,如下单独在写得内容不会被显示#}
<h1>这里不在block的内容不会被显示</h1>
{% block header %}


    <h1>我会覆盖掉原有上次header的内容</h1>

    {# 加上下面的就会调用父类的模板 #}
    {{ block.super }}
{% endblock %}

{% block footer %}
    {{ block.super }}

{#    能用extends+block使用的, 就尽量不用include,效率相对低#}
    {% include 'footer.html' %}
{% endblock %}

注意block的覆盖规则, 如果需要同时显示父模板的内容,使用block.super

新增加css/js等文件,一定要先在Django的settings的STATIC修改注册路径

不然的话,html里即使有css也不会显示。

STATIC_URL = '/static/'
STATICFILES_DIRS=[
    os.path.join(BASE_DIR, 'static'),

一般不要用下面方式写绝对路径,而要使用相对路径写

<link rel="stylesheet" href="/static/css/home_css.css">
{# 先读取 static的基本配置 #}
{% load static %} 
<link rel="stylesheet" href="{% static 'css/home_css.css'%}">

目前上面如果将项目的DEBUG模式关了, 则不能读取static文件,部署时需要单独处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值