标签:replace 常用 伪造 block 示例 go import extends key djang
示例:
{# 取variable中的第一个参数 #} {{ variable.0 }} {# 取字典dic中key的值 #} {{ dic.key }} {# 取obj_list对象列表中第一个对象的attr属性值 #} {{ obj_list.0.attr }} {# 点操作只能调用不带参数的方法 #} {{ obj_list.0.method }}
逻辑判断用{% %}
常用for循环参数:
Variable | Description |
forloop.counter | 当前循环的索引值(从1开始) |
forloop.counter0 | 当前循环的索引值(从0开始 |
forloop.revcounter | 当前循环的倒序索引值(从1开始) |
forloop.revcounter0 | 当前循环的倒序索引值(从0开始) |
forloop.first | 当前循环是不是第一次循环(布尔值) |
forloop.last | 当前循环是不是最后一次循环(布尔值) |
forloop.parentloop | 本层循环的外层循环 |
{% if some_condition %}...{% elif other_condition %}...{% endif %}
{% if some_condition %}...{% elif other_condition %}...{% endif %}
{% with new_variable = old_variable %}.....{% endwith %}
语法:在页面的每个form表单中写上
{% csrf_token %}
作用:用于跨站请求伪造保护
语法:
{# 注释内容 #}
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="x-ua-compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Title</title> {% block page-css %} {% endblock %} </head> <body> <h1>这是母板的标题</h1> {% block page-main %} {% endblock %} <h1>母板底部内容</h1> {% block page-js %} {% endblock %} </body> </html>
{% extends ‘base.html‘ %}
{% block block_name %}...{% endblock %}
示例:
{% block page-main %} <p>世情薄</p> <p>人情恶</p> <p>雨送黄昏花易落</p> {% endblock %}
{% include ‘subassembly.html‘ %}
在Settings中设置static静态文件夹,在html中导入。
语法:
{% load static %}
例如:
{% load static %} <img src="{% static "images/hi.jpg" %}" alt="Hi!" />
引用JS文件时使用:
{% load static %} <script src="{% static "mytest.js" %}"></script>
某个文件多处被用到可以存为一个变量
{% load static %} {% static "images/hi.jpg" as myphoto %} <img src="{{ myphoto }}"></img>
{% load static %} <img src="{% get_static_prefix %}images/hi.jpg" alt="Hi!" />
或者
{% load static %} {% get_static_prefix as STATIC_PREFIX %} <img src="{{ STATIC_PREFIX }}images/hi.jpg" alt="Hi!" /> <img src="{{ STATIC_PREFIX }}images/hi2.jpg" alt="Hello!" />
自定义simpletag的步骤(与自定义Filter类似,不过接收更灵活的参数)
custom_simpletag.py中编写自定义simpletag,例如:
from django import template register = template.Library() @register.simple_tag(name="my_simpletag") def add_simpletag(a,b,c): # 可接收多个参数 return "{} + {} + {}".format(a, b, c)
{% load custom_simpletag %} {% my_simpletag "1" "2" "3" %}
自定义inclusion_tag的步骤
custom_inclusiontag.py中编写自定义inclusiontag,例如:
from django import template register = template.Library() @register.inclusion_tag(‘inclusion_tag.html‘) def my_inclusiontag(n): n = 1 if n < 1 else int(n) data = ["第{}项".format(i) for i in range(1, n+1)] return {"data": data}
<ul> {% for choice in data %} <li>{{ choice }}</li> {% endfor %} </ul>
{% load custom_inclusiontag %} {% my_inclusiontag 10 %}
语法:
{{ value|filter_name:args }}
注意:管道符前后没有空格
{{ value: default: "自定义内容"}}
{{ value|length }}
{{ value|filesizeformat }}
如果 value 是 123456789,输出将会是 117.7 MB。
{{value|slice:"start:end"}}
{{ value|date:"Y-m-d H: i:s"}}
{{value|safe}}
{{ value|truncatechars:num}}
在custom_filter.py中编写自定义过滤器,例如:
from django import template register = template.Library() @register.filter(name="my_filter") def my_filter(value, arg): #最多接收两个参数 return value.replace(arg, "")
{% load custom_filter %} {{ variable|my_filter:"0" }}
标签:replace 常用 伪造 block 示例 go import extends key djang
原文地址:https://www.cnblogs.com/gaoya666/p/8673371.html