模板变量,过滤器和静态文件引用

本文介绍了Django框架中的模板查找机制及变量解析规则,并详细解释了如何设置时区、使用过滤器等特性。此外还提供了配置静态文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

模板路径查找机制

django首先会去 settins.py 的TEMPLATES里找在这里插入图片描述
不要在模板根目录下直接创建模板在这里插入图片描述
而是要在外面多套一个文件夹,文件夹名为aap名方便处理
在这里插入图片描述
另一种查找方法:在app里面创建templates文件夹
在这里插入图片描述
首先在DIRS里找在这里插入图片描述
如果没找到 ,APP_DIRS显示问True的话在这里插入图片描述
就会到INSTALLED_APPS里面注册了的app里面去找在这里插入图片描述

动态文件和静态文件

动态页面:随着不同的时间,不同的用户,不同的因素会发生动态的改变。(动态的获取内容)

静态页面:页面里面的数据是不变化的,无需经过服务器的编译,直接加载到客户浏览器上显示出来。

写一个动态页面

在这里插入图片描述
用两个大括号包住这个变量,这个变量对应的是context 里的 key
在这里插入图片描述
在这里插入图片描述
设置时区
TIME_ZONE 里将时区设置为 Asia/Shanghai
在这里插入图片描述在这里插入图片描述

模板变量

语法: {{ 变量名 }}

命名规则:由字母,数字以及下划线组成,不能以下划线开头,也不能以数字开头,不能有空格和标点符号,不要使用 pythondjango 的关键字。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

定义一个函数,将函数传入模板变量,函数会被执行,不可以带参数。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
变量解析规则

  • 当模板引擎遇到了变量时,他会计算变量,并将其替换为结果。在这里插入图片描述在这里插入图片描述
  • 当模板引擎在变量中遇到了( .)时,他会按照以下顺序尝试查找:
    1.字典键值查找
    2.属性和方法查找
    3.数字索引查找
    例如:
    在这里插入图片描述
    它返回的是一个items的列表
    在这里插入图片描述
    然后我们在字典里加一个名为items的键时,首先会按照键去查找在这里插入图片描述
    结果变成了book
    在这里插入图片描述
  • 如果结果是一个可调用的(callabled),则调用它,结果为模板变量的值。
    • 注:加上两个括号就可以执行的就叫可调用的。它里面有一个 __call__ 方法
      在这里插入图片描述

过滤器

语法:{{ 变量名|过滤器:参数}}
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

静态文件

路径设置

新建一个名为 static 的文件夹在这里插入图片描述

# 在 settings.py 文件夹下添加
1.STATIC_URL= '/static/'

2.STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

在这里插入图片描述
确保django.contrib.staticfiles 这个app 被包含在了 INSTALL_APPS
在这里插入图片描述
静态文件引用

{% load static %}   # 写在模板头

在这里插入图片描述
导入文件格式:{% static ’文件路径 ’ %}‘在这里插入图片描述
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值