Django 中使用 Jinja2(静态文件与url)

一 配置

项目 settting.py 文件
{
        'BACKEND': 'django.template.backends.jinja2.Jinja2',#jinja2模版
        'DIRS': [
            os.path.join(BASE_DIR, 'templates'),#模版文件位置
        ],
        'APP_DIRS': True,   # 确保不去app下的子目录的jinja2目录找模板
        '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',
                ],
            'environment': 'DjangoDemo.jinja2_env.environment',  # 配置环境,jinja的配置文件
        },
    },
项目目录添加 jinja2_env.py
from __future__ import absolute_import  # Python 2 only

from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import reverse

from jinja2 import Environment


def environment(**options):
    env = Environment(**options)
    env.globals.update({
        'static': staticfiles_storage.url,
        'url': reverse,
    })
    return env

二 静态文件

Django:
{% static 'css/index.css' %}
Jinja2:
{{ static('css/index.css') }}

三 url

Django:
{% url 'detail' question.id %}
Jinja2:
{{ url('detail', args=(question.id, ) }}

四 其它

Jinja2中列表可使用索引:book[0]book[-1]
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值