Django templates 模板是django Web应用程序的表示层。
通常在应用程序目录下创建一个 templates 文件夹,该文件夹具有 .html 文件。
还可以在app目录下创建 static 目录,以存储images,css和js 文件。
mysite
└── ...
myapp
└── templates
└── index.html
└── static
└── img
└── css
└── js
模板标签
Django模板是静态html标记和动态python上下文字典的组合。
可以使用模板标签和过滤器(template tags and filters) 来显示上下文字典。
模板标签
-
{% extended 'base.html' %} - 将基本模板封装在base.html模板中,然后子页面通过 extends 标签来实现继承。
-
{% block content %} - 标记了模板的动态部分(占位符),将在扩展模板中进行填充。
-
{% load static %} - 将静态资源加载到 static 目录下。
-
{% for loop %} - Python for 循环操作。
-
{% if condition %} - Python if 判断操作。
-
{# comment #} - 用于注释。
-
{{ variable }} - 打印给定变量的值。
模板过滤器
过滤器可用于增强上下文关键字变量的值。
{{ value|filter }}
Django模板中所有可用的过滤器如下:
- add
- addslashes
- capfirst
- center
- cut
- date
- default
- default_if_none
- dictsort
- dictsortreversed
- divisibleby
- escape
- escapejs
- filesizeformat
- first
- floatformat
- force_escape
- get_digit
- iriencode
- join
- json_script
- last
- length
- length_is
- linebreaks
- linebreaksbr
- linenumbers
- ljust
- lower
- make_list
- phone2numeric
- pluralize
- pprint
- random
- rjust
- safe
- safeseq
- slice
- slugify
- stringformat
- striptags
- time
- timesince
- timeuntil
- title
- truncatechars
- truncatechars_html
- truncatewords
- truncatewords_html
- unordered_list
- upper
- urlencode
- urlize
- urlizetrunc
- wordcount
- wordwrap
- yes
静态文件
Django项目 settings.py 定义了一个 static 目录,该目录通常包含图像,css和javascript文件。
下面的示例代码显示了如何使用静态文件。
{% load static %}
在 img 标签中,使用:
src="{% static 'img/my_image.png' %}"
对于 CSS 文件,请在 link 标签下使用:
href="{% static 'css/my_stylesheet.css' %}"
对于 JavaScript 文件,请在 script 标签下使用:
src="{% static 'js/my_script.js' %}"