jinjia2模板语法

这篇博客详细介绍了Django Jinja2模板的常用语法,包括变量和逻辑操作符号{{ }}和{{% %}}。内容涵盖Filters(过滤器)、自定义过滤器的创建、模板继承、循环控制(如forloop属性)以及csrf_token的使用。同时,讨论了模板的母板设计,强调了{% extends %}的使用和注意事项。此外,还提到了静态文件的处理,以及simple_tag和inclusion_tag的定义和应用。
摘要由CSDN通过智能技术生成
常用语法

Django模板中需要记两种特殊符号

{ { }} 和{ {% %}}

{ { }}表示变量,在模板渲染得时候替换成值,{%%}表示逻辑相关得操作。

模板语法

变量{ { 变量 }}

.
.key  > .属性 > .索引
Filters

翻译为过滤器,用来修改变量的显示结果

语法:{ { value| filter_name:参数}}

default:
变量不存在,
filesizeformat:
显示字节大小
add:
数字得加减法,字符串和列表得拼接
lower:
小写
自定义过滤器
  1. 在app下创建一个名为templatetags的python包(注意:包的名字不能错)
  2. 创建一个python文件,文件名自定义(mytags.py)
  3. 在python包中写
from django import template
register = template.Library() #register

​ 4.写函数+装饰器

@register.filter
def add_agr(value,age):
    # 功能更具需求而定
    return "{}_{}".format(value,age)
  1. 模板引入引用
{% load mytags %}
{
  { alex.age |add_agr:'岁' }}

for

{% for name in name_list %}
	<li>{
  { forloop.counter}}-{
  { name }}</li>
{% enfor %}

forloop.counter 当前循环的序号 从1开始

forloop.counter0 当前循环的序号从0开始

forloop.revcounter 当前循环的序号{}到结束

forloop.revcounter0 当前循环的序号{}从0开始

forloop.first 是否是第一次循环 布尔值

forloop.last 是否是最后一次循环 布尔值

forloop.parentloop 本层循环的外层循环

<ul>
{% for user in user_list %}
	<li>{
  { user.name }}</li>
{% empty %}
	<li> 空空如也 </li>
{% endfor %}
</ul>

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值