Django框架——模板路径配置、模板变量及过滤器

目录

模板路径配置

过滤器

过滤器时间格式


模板变量及过滤器参见:Django框架——URL路由及模板渲染方式

模板路径配置

配置模板路径是通过配置文件setting.py中的TEMPLATES来设置。这是一个设置选项的列表,模板大都包含两项通用设置,有两种方式配置模板:

第一种::DIRS 定义一个目录列表,模板引擎按列表顺序搜索这些目录以查找模板源文件。将templates放在主项目目录下。

Django框架——模板路径配置、模板变量及过滤器_第1张图片

第二种: APP_DIRS告诉模板引擎是否应该进入每个已安装的应用中查找模板,值为True则模板会去安装了的app下面的templates文件夹查找模板。因此也可以在每个app的里面创建模板目录templates存放模板,这种方式需要将这个app添加到setting.py文件的INSTALLED_APPS列表中。

Django框架——模板路径配置、模板变量及过滤器_第2张图片

Django框架——模板路径配置、模板变量及过滤器_第3张图片

过滤器

  1. add:字符串相加、数字相加、列表相加、如果失败将返回一个空的字符串
  2. default:提供一个默认值,在这个值被django认为是False的时候使用,如空字符串。
  3. first:返回第一个值。
  4. last:返回最后一个值。
  5. date:格式化日期和时间。
  6. time:格式化时间。
  7. join:与python的join使用方法相同。
  8. length:返回对象的长度。
  9. length_is:对象的长度是否是指定的值,判断后返回一个布尔值。
  10. lower:将字符串小写。
  11. truncatechars:根据后面给出的参数截断字符串,如果超出就用...表示。
  12. truncatewords:同truncatechars,以一个单词为单位进行截断。
  13. capfirst:首字母大写。
  14. slice:切割列表,用法与python中的切片一样,区间是前闭后开。
  15. striptags:去掉所有的html标签。
  16. safe:关闭变量的自动转义。
  17. floatformat:浮点数的格式化。

过滤器时间格式

  • 四位年:Y,2021
  • 两位年:y,21
  • 两位月:m,01
  • 一位月:n,1
  • 两位日:d,05
  • 一位日:j,5
  • 十二小时制,两位时:h,09
  • 十二小时制,一位时:g,9
  • 二十四小时制,两位时:H,08
  • 二十四小时制,一位时:G,8
  • 分:i,00-59
  • 秒:s,00-59

注意:这里返回的当前时间都是使用标准零时区时间

Django框架——模板路径配置、模板变量及过滤器_第4张图片

#  views.py文件
def ren(request):
    st = 'THIS IS A FLOWER!'
    complexs = {
        'st':st,
        'p':'',
        'num1':5,
        'num2':3,
        'time_now':datetime.datetime.now,
    }
    return render(request,'red.html',context = complexs)

# urls.py文件
from django.urls import path,re_path
from . import views

urlpatterns = [
    path('index/',views.ren),
]




    
    模板渲染——过滤器
    


    

这是一个字符串:{{st}}

求和:{{num1|add:num2}}

设置默认值变量:{{p|default:'默认值变量999'}}

设置默认值变量:{{p|default_if_none:'none'}}

字母变小写:{{st|lower}}

第一个元素:{{st|first}}

最后一个元素:{{st|last}}

默认日期格式:{{time_now|time}}

默认时间格式:{{time_now|date}}

日期时间格式化(24小时制,四位年,两位月日):{{time_now|date:'Y-m-d H-i-s'}}

日期时间格式化(12小时制,两位年月日):{{time_now|date:'y-n-j h-i-s'}}

时间格式化:{{time_now|time:'H-i-s'}}

求字符串长度:{{st|length}}

判断长度是否符合某个长度,返回一个布尔值:{{st}}的长度为{{st|length}},判断结果为{{st|length_is:10}}

 

你可能感兴趣的:(过滤器,python,django)