django模板引擎是什么

什么是Templates(模板引擎)

简单来说,Django的模板引擎就是HTML文件,只是包含使用了一种特殊的模板语言(Django模板语言 Django Template Language),简称DTL。

如何加载第三方模板引擎

优秀的模板引擎远远不止这么一个,所以Django是支持开发者对其进行扩展/修改的,我们完全可以通过在settings.py配置文件中,修改TEMPLATES中的BACKEND选项,将模板引擎换成其他任何我们希望要用的。

Django 模板引擎的使用

1.首先在项目下建立一个文件夹templates,储存各种模板

abc9ed74f088495fd139e13177f7f74.png

2.然后在settings.py 下添加模板

979840158fa0a2872a0e5a10844d065.jpg

3.然后进入view.py 使用Django自带的模板渲染引擎

from django.shortcuts import render # 渲染模板

构建response对象 

response = render(request,'index.html',context={ "value":"变量", })

context 将一个字典类型的数据传给 html页面 ,然后替换html页面中的变量 {{ value }}

这时,html页面中将会显示 --- 变量

模板引擎语法

注释{% comment %} {% endcomment %} 注释后的内容在网页源文件中不可见

变量打印

{{变量名}}假如没有给模板引擎传递响应的变量,那么该位置不显示任何数据

条件判断

{% if a == b %}{% elif a > b %}{% else %}{% endif %}变量逻辑判断必须以空格隔开
{% ifequal a b %}{% endifequal %}判断两个变量是否相等{% ifnotequal %}{% endifnotequal %}判断两个变量是否不相等

循环

{% for item in items %}
{% empty %} 假如循环的迭代对象没有元素,输入empty中内容
{% endfor %}

数据过滤

{{变量|过滤函数:参数}} 在变量打印之前,进一步处理,并且返回处理后的结果无参数过滤器{{变量|过滤函数}}

乘除法

{% widthratio a b c %} a是分子,b是分母,c分子 (a*c)/b

转义默认django中是把自动转义打开,如果需要关闭自动转义,{% autoescape off %}{% endautoescape %}

{% autoescape on %}{% endautoescape %}

静态资源

在settings.py中配置 STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')]

在模板的顶部添加{% load static %}

使用:{% static 'css/index.css' %}

继承与block

{% extends 'base.html' %}

同名的{% block content %} 子模板自定的内容 {% endblock %}

包含

{% include "footer.html" %} 把制定的模板内容添加到当前模板中。