Django自定义模板标签与过滤器
常用内置标签:
标签 | 描述 |
---|---|
{% for %} {% endfor %} | 遍历输出上下文内容 |
{% if %} {% endif %} | 对上下文条件进行判断 |
{% csrf_token %} | 生成csrf_token标签,用于防护跨站请求伪造攻击 |
{% url %} | 生成相应路由地址 |
{% load %} | 加载导入django标签库 |
{% static %} | 加载读取静态资源文件 |
{% extends xxx %} | 使当前模板继承xxx模板 |
{% block xxx%} | 重写父类模板 |
常用内置过滤器
内置过滤器 | 使用形式 | 说明 |
---|---|---|
date | {{ value | date:“D d M Y” }} | 将日期格式数据按照指定格式输出 |
… | … | … |
自定义标签
-
项目下创建xxx文件夹,在xxx文件夹下创建__init__.py和templatetags文件夹,最后在templatetags文件夹内创建__init__.py和自定义标签py文件(mytsgs.py)
templatetags文件夹名为固定 - 在settings.py的INSTALLED_APPS中添加xxx(项目),否则django无法加载mydefined文件夹内容
- 定义标签
此处定义一个 将字符串反转的标签 - html页面设置
- urls与view
最终显示
自定义过滤器
自定义过滤器与自定义标签一样,但过滤器更为简单,值需定义相关函数即可,此处定义实现模板上下文字符替换的过滤器
- 与自定义标签一样在templatetags中创建自定义过滤器py文件
- views编写
- html页面编写
最终显示: 将 ‘hello django’ 中 ’django‘ 替换为 ’替换为Python‘