Django——模板—静态资源配置+jinja2模板引擎配置

  • 静态资源配置


    settings.py中注册
    STATIC_URL = '/static/'
    STATICFILES_DIRS = [
     os.path.join(BASE_DIR, 'static'),
    ]
    
    
    在模板中使用静态资源
     {% load static %} #放置到模板开头
     <img src="/static/img/img.jpeg" alt=""> #硬编码
     <img src="{% static 'img/img.jpeg' %}" alt=""> #动态写法,建议⽤这种
  • jinja2模板引擎配置


    安装jinja2模板引擎
    pip install jinja2
    
    
    设置jinja2环境变量
    在应⽤⽬录下,创建jinja2_env.py配置⽂件
    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
    配置(setting.py)
    独⽴使⽤jinja2,不使⽤Django模板引擎
    #独⽴使⽤jinja2
    INSTALLED_APPS = [
     #'django.contrib.admin', # 注释了admin
     .....
    ]#模板配置
    TEMPLATES = [{
     'BACKEND':
    'django.template.backends.jinja2.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',
     ],
     'environment': 'App.jinja2_env.environment', # 配置环
    境,jinja的配置⽂件位置
     },
     },
     ]
    两个同时使用
    TEMPLATES = [{
     'BACKEND': 'django.template.backends.jinja2.Jinja2',#jinja2模 版
     'DIRS': [
     os.path.join(BASE_DIR, 'templates2'),#修改模版⽂件位置
     ],
     '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',
     ],
     'environment': 'App.jinja2_env.environment', # 配置环
    境,jinja的配置⽂件位置
     },
     },
     {
     'BACKEND': 'django.template.backends.django.DjangoTemplates',
     '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',
     ],
     },
     },
     ]
发布了181 篇原创文章 · 获赞 6 · 访问量 2329

猜你喜欢

转载自blog.csdn.net/piduocheng0577/article/details/105001614