django-模板-创新互联
模板
成都创新互联是一家专业提供彭州企业网站建设,专注与成都网站设计、网站制作、外贸营销网站建设、H5页面制作、小程序制作等业务。10年已为彭州众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。作为Web 框架,Django 需要一种很便利的方法以动态地生成HTML。最常见的做法是使用模板。模板包含所需HTML输出的静态部分,以及一些特殊的语法,描述如何将动态内容插入。
变量
用{{}}包围的是变量,如`person_name`,
过滤器
可以通过使用 过滤器来改变变量的显示。
{{ship_date|date:"F j, Y"}}把ship_date变量传递给过滤器,并给date过滤器传递了一个参数“F j, Y”,date过滤器以给定参数的形式格式化日期
default
如果一个变量是false或者为空,使用给定的默认值。否则,使用变量的值。例如:
{{ value|default:"nothing" }}
如果 value没有被提供,或者为空, 上面的例子将显示“nothing”。
length
返回值的长度。它对字符串和列表都起作用。例如:
{{ value|length }}
filesizeformat
将该数值格式化为一个 “人类可读的” 文件容量大小 (例如 '13 KB', '4.1 MB', '102 bytes', 等等)。例如:
{{ value|filesizeformat }}
标签
用{% %}包围的是块标签,如{%if ordered_warranty%}
for
循环数组中的每个元素。例如,显示 athlete_list中提供的运动员列表:
- ` athlete`.`name `
{% for athlete in athlete_list %}
{% endfor %}
if, elif, and else
计算一个变量,并且当变量是“true”是,显示块中的内容:
{% if athlete_list %}
Number of athletes: {{ athlete_list|length }}
{% elif athlete_in_locker_room_list %}
Athletes should be out of the locker room soon!
{% else %}
No athletes.
{% endif %}
自定义标签和过滤器
代码布局
在app下创建一个templatetags包,然后再里面创建相应的python处理代码
在模板中{% load 自定义处理模块名 %}加载
自定义标签处理代码
from django import template
register = template.Library()
@register.simple_tag
def current_time(format_string):
return datetime.datetime.now().strftime(format_string)
html中
{% current_time '%Y-%m-%d %X' %}
模板继承
模版继承可以让您创建一个基本的“骨架”模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 blocks 。
母板:
{% block content %}{% endblock %}
它定义了一个可以用于两列排版页面的简单HTML骨架。“子模版”的工作是用它们的内容填充空的blocks。
在这个例子中, block 标签定义了三个可以被子模版内容填充的block。 block 告诉模版引擎: 子模版可能会覆盖掉模版中的这些位置。
子板:
extends标签是这里的关键。它告诉模版引擎,这个模版“继承”了另一个模版。当模版系统处理这个模版时,首先,它将定位父模版——在此例中,模版引擎将注意到 base.html 中的三个 block 标签,并用子模版中的内容来替换这些block
{% extends "base.html" %}
{% block title %}My amazing blog{% endblock %}
{% block content %}
{% for entry in blog_entries %}
` entry`.`title `
` entry`.`body `
{% endfor %}
{% endblock %}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前标题:django-模板-创新互联
本文链接:http://ybzwz.com/article/ccehgi.html