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” }} 将日期格式数据按照指定格式输出

自定义标签

  1. 项目下创建xxx文件夹,在xxx文件夹下创建__init__.py和templatetags文件夹,最后在templatetags文件夹内创建__init__.py和自定义标签py文件(mytsgs.py)
    templatetags文件夹名为固定
    Django自定义模板标签与过滤器
  2. 在settings.py的INSTALLED_APPS中添加xxx(项目),否则django无法加载mydefined文件夹内容
    Django自定义模板标签与过滤器
  3. 定义标签
    此处定义一个 将字符串反转的标签
    Django自定义模板标签与过滤器
  4. html页面设置
    Django自定义模板标签与过滤器
  5. urls与view
    Django自定义模板标签与过滤器Django自定义模板标签与过滤器

最终显示
Django自定义模板标签与过滤器

自定义过滤器

自定义过滤器与自定义标签一样,但过滤器更为简单,值需定义相关函数即可,此处定义实现模板上下文字符替换的过滤器

  1. 与自定义标签一样在templatetags中创建自定义过滤器py文件
    Django自定义模板标签与过滤器
    Django自定义模板标签与过滤器
  2. views编写
    Django自定义模板标签与过滤器
  3. html页面编写
    Django自定义模板标签与过滤器

最终显示: 将 ‘hello django’ 中 ’django‘ 替换为 ’替换为Python‘
Django自定义模板标签与过滤器