您的位置:首页 > 编程语言 > Go语言

Django-模板继承、包含和静态文件配置

2018-05-08 19:33 615 查看

一、模板继承

模板继承可以减少页面内容的重复定义,实现页面内容的重用

典型应用:网站的头部、尾部是一样的,这些内容可以定义在父模板中,子模板不需要重复定义

block标签:在父模板中预留区域,在子模板中填充

extends继承:继承,写在模板文件的第一行

定义父模板base.html

步骤:

  1. 把公共的HTML部分提取到一个base.html中,构建一个基本的HTML“骨架”

  2. 在母板中,通过定义block块,告诉模块引擎子模块可以覆盖母板的哪些部分。

  3. 在子模板的首行使用{% extend 'base.html' %}指定继承自哪个母板

  4. 在子模板中使用和母板中相同的block,来覆盖母板中指定的位置

代码:

{% extends "base.html" %}

{% block title %}My amazing blog{% endblock %}

{% block content %}
{% for entry in blog_entries %}
<h2>{{ entry.title }}</h2>
<p>{{ entry.body }}</p>
{% endfor %}
{% endblock %}


子模板

二、包含

include:在模板中“包含”其他模板的一种方式。模板名称可以是变量,也可以是单引号或双引号的硬编码(带引号)的字符串。

此示例包含模板的内容
"foo/bar.html"


{% include "foo/bar.html" %}


通常,模板名称是相对于模板加载程序的根目录。一个字符串参数也可以是一个 以标签开始
./
或者
../
extends
标签所描述的相对路径。

此示例包含名称包含在变量中的模板的内容
template_name


{% include template_name %}


三、静态文件配置

项目中的CSS、图片、js都是静态文件

配置静态文件

在settings 文件中定义静态内容

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


在项目根目录下创建static目录,再创建当前应用名称的目录

mysite/static/myapp/


在模板中可以使用硬编码

/static/my_app/myexample.jpg


在模板中可以使用static编码

{ % load static from staticfiles %}
<img src="{ % static "my_app/myexample.jpg" %}" alt="My image"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: