Django配置开发环境和生产环境以及配置Jinja2模板引擎

配置开发环境

  • 在项目的目录(即就是settings.py的同级目录)创建settings的Python的包
  • 在创建的settings的包中,创建dev.py,将原项目的setting.py中内容全部复制到其中
  • 在项目的启动文件 manage.py中修改,
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'meiduo_mall.settings.dev')
  • 删除settings.py文件

配置生产环境

  • 在创建的settings的包中,创建prod.py,将原项目的setting.py中内容全部复制到其中
  • 在项目的wsgi.py中修改
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'meiduo_mall.settings.prod')
  • 删除settings.py文件

 配置Jinja2模板引擎

  • 在配置文件中,配置如下图,
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',
            ],
        },
        # 补充Jinja2模板
        'enviroment': 'meiduo_mall.utils.jinja2_env.jinjia_enviroment'
    },
    {
        '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',
            ],
        },
    },
]
  • 创建Jinja2模板引擎环境配置文件

在项目的主模板下面新建一个utils的Python的包,在该包下面新建一个jinja2_env.py,内容如下:

Django配置开发环境和生产环境以及配置Jinja2模板引擎_第1张图片

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

def jinja2_enviroment(**options):
    """jinja2环境"""
    # 创建环境对象
    env = Environment(**options)

    # 自定义语法:{{  static('静态文件相对路径')}}{{  url('路由的命名空间')   }}
    env.globals.update({
        'static': staticfiles_storage.url,  # 获取静态文件的前缀
        'url': reverse  # 反向解析
    })

    # 返回环境对象
    return env

 

你可能感兴趣的:(Django框架,开发环境,生产环境,Jinja2模板,django)