前一篇博文介绍了 Django 中单独符号构成的常用特殊操作符,这篇博文接着介绍 Django 中组合符号构成的特殊操作符,即 {{ }} 和 {% %}。这两个组合符号构成的特殊操作符都用于 Django template,常用于 HTML 模板文件。下面分别介绍这两种特殊操作符:
{{ value }}
{{ value }} 可以在模板中显示 Python 代码传递变量 value 的值。使用 {{ value|filter }} 语法,用 filter 函数对 value 值进行处理后,然后才在 HTML 模板中展示最终的结果。
例如,{{ messges|length }} 在 HTTP template 中显示字符串或列表 messages 的长度;下面的例子中,message为一条消息信息实例,tags 是 message 属性,{{}} 除了可以单独使用,还可以在字符串中组合使用。
<div class="alert alert-{{message.tags}}"> {{message}} </div>
{% tag argment %}
采用 {% tag argment %} 语法,可以在 HTML template 中,使用 tag 和参数 argument 展示块数据、逻辑判断、循环迭代列表等。常用的 tag 有 extends、content、if、for 和 url。更多 tag 内容参见 Built-in tag reference - Django Documentation。
具体实例,如下:
{% extends base.html %} {% if messages %} {% for message in messages %} <div class="alert alert-{{message}}"> {{message}} </div> {% endfor %}
{% endif %}
{% block content %} <a href="{% url 'home' %}">Todo</a> {% endblock content %}
其中,extends tag 用于扩展 base.html,与类的继承机制类似;if tag 用于逻辑判断;for tag 用于循环迭代;url tag 用于获得视图名为 'home' 的 URL 地址;
参考资料
[1] Built-in template tags and filters. https://docs.djangoproject.com/en/5.0/ref/templates/builtins/
[2] Django Todo App. https://www.pythontutorial.net/django-tutorial/django-todo-app/
标签:value,Django,tag,操作符,笔记,template,message From: https://www.cnblogs.com/klchang/p/18224833