Bootstrap

jinja2

配置jinja2模板引擎

配置jinja2模板引擎
1.配置之前先安装 使用 pip install jinja2 命令进行安装
2.打开项目(Django)的配置文件settings.py
3.在TEMPLATES中添加Jinja2模板引擎
注意:复制一份出来再改!而且要放在原来的上面。

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

在复制的那份里面改代码!如下:
配置的正是这个文件!(BASE_DIR)

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 {
        'BACKEND': 'django.template.backends.jinja2.Jinja2',
        'DIRS': [os.path.join(BASE_DIR,"应用名/templates")],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },

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

jinja2练习!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
部分代码:!

{{ name | default("jack") }}<br/>
    {{ "hello word" | capitalize }}<br/>
    {{ "hello " | trim }}<br/>
    {{ "XML" | lower }}<br/>
    {{ "hello " | reverse }}<br/>
    {{ "%s is %d" | format("Number",99) }}<br/>
    {{ "<em>name</em>" | safe }}<br/>
    {% autoescape false %}
    {{ "<em>name</em>" | escape }}<br/>
    {% endautoescape %}
    {{ 6.99985 | round }}<br/>
    {{ 6.99985 | round(2) }}<br/>
    {{ -69 | abs }}<br/>
    {% set numbers=[6,8,14,25,69,89] %}
    {{ [1,2,3] | first }}<br/>
    {{ [1,2,3] | last }}<br/>
    {{ [1,2,3,4,5] | length }}<br/>
    {{ [1,2,3,4,5] | sum }}<br/>
    {{ [1,8,3,7,5] | sort }}<br/>
    {{ [1,2,3,4,5] | join("|") }}<br/>
    {{ ["alex","bob","ada"] | upper }}<br/>

自定义过滤器

在settings.py同目录下创建jinja2_env.py文件。代码如下:

from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import reverse
from jinja2 import Environment
# 自定义过滤器函数,value是需要过滤的内容
def myReplace(value, old='Jinja2', new='Django'):
return str(value).replace(old, new)
def environment(**options):
env = Environment(**options)
env.globals.update({
'static': staticfiles_storage.url,
'url': reverse,
})
# env.filters把过滤器注册到Jinja2引擎
env.filters['myReplace'] = myReplace
return env

在settings.py文件中TEMPLATES配置项中添加配置节点:

在这里插入图片描述

;