请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

更换jinja2模板引擎的问题

如果在最新版的django中(django= 2.2.6), 更换模板引擎后会启动报错?: (admin.E403) A ‘django.template.backends.django.DjangoTemplates’ instance must be configured in TEMPLATES in order to use the admin application.

解决办法:
不修改原有引擎配置,新增引擎jinja2, 即在settings.py中

TEMPLATES = [
    {
        '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',
            ],
            'environment':'app.base_jinja2.environment'            
        },
    },
    {
        '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',
            ],
        },
    }   
]

并且一定要把jinja2 引擎放在前面, 否则默认生效的还是django模板引擎.

感觉还是用django-jinja2 或者 pycharm 新建django项目的时候,直接选择jinja2好用点

正在回答 回答被采纳积分+3

2回答

deweizhang 2019-10-17 15:30:50

谢谢你的提醒。django的一个问题就是版本之间的兼容度欠佳。如果你的方案可以有很好的兼容就做好了

1 回复 有任何疑惑可以回复我~
  • 百度了半天,没找到答案。谢谢老师
    回复 有任何疑惑可以回复我~ 2019-11-09 10:22:02
deweizhang 2019-11-09 16:35:27

不同版本的确会有问题,所以还是建议和课程版本一致

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信