django 模板语言

时间:2021-01-27 10:39:23

母版与继承:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %} {% endblock %}</title>
</head>
<body>
{% block content %} {% endblock %}

</body>
</html>
 {% extends 'master.html' %} #继承只能继承一个模板
{% block title %}用户管理{% endblock %}
3 {% block content %} ...{% endblock%}

模板语法:

{{ 变量 }}

{{xxx.1}}#1代表索引,xxx代表list

{%  %}自动生成html

<script>{

   var data = {{ data|safe }}

   //这样就可以变成了字符串

 }

<script>

处理起来还不是美滋滋,比在html中更灵活。

for 循环:

{% for i in k %}

{% endfor%}

去掉最后的一个逗号

{% for item in List %}
{{ item }}{% if not forloop.last%},{% endif %}
{% endfor %}

在for循环中还有很多有用的东西,如下:
变量 描述
forloop.counter 索引从 1 开始算
forloop.counter0 索引从 0 开始算
forloop.revcounter 索引从最大长度到 1
forloop.revcounter0 索引从最大长度到 0
forloop.first 当遍历的元素为第一项时为真
forloop.last 当遍历的元素为最后一项时为真
forloop.parentloop 用在嵌套的 for 循环中,获取上一层 for 循环的 forloop

if 条件判断:

{% if i == "sd" %}

{% endif %}

导入static:     {% load staticfiles %}

使其不转译: 1. {% autoescape off %} {% endautoescape %}

      2.{{ post.content | safe}} 在输出变量后加一个safe的过滤器即可。

markdown 语句解析与应用

1.pip install django-markdown-deux

2.INSTALLED_APPS = []添加

3.{%  load markdown_deux_tags %}

4. {{ content.body | markdown }}

运算

{{ curr | add:1 }}

{{ curr | add:-1 }}