django模板引擎是什么
什么是Templates(模板引擎)
简单来说,Django的模板引擎就是HTML文件,只是包含使用了一种特殊的模板语言(Django模板语言 Django Template Language),简称DTL。
如何加载第三方模板引擎
优秀的模板引擎远远不止这么一个,所以Django是支持开发者对其进行扩展/修改的,我们完全可以通过在settings.py配置文件中,修改TEMPLATES中的BACKEND选项,将模板引擎换成其他任何我们希望要用的。
Django 模板引擎的使用
1.首先在项目下建立一个文件夹templates,储存各种模板
2.然后在settings.py 下添加模板
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" %} 把制定的模板内容添加到当前模板中。
来源:PY学习网:原文地址:https://www.py.cn/article.html