Django模板渲染异常:DTL标签显示为普通文本求助
解决Django模板DTL标签未被解析的问题
以下是几个关键排查和解决步骤:
确保视图正确渲染模板
视图必须使用Django提供的render函数来加载模板,这样模板引擎才会解析DTL标签。示例代码:from django.shortcuts import render def index(request): return render(request, 'base.html')绝对不能直接读取HTML文件内容并通过
HttpResponse返回,这种方式会跳过模板解析过程。检查模板配置(settings.py)
确认TEMPLATES配置项满足以下要求:APP_DIRS设置为True,且包含模板的应用已添加到INSTALLED_APPS列表中;- 如果模板放在项目根目录的
templates文件夹下,需在TEMPLATES的DIRS中添加路径:TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [BASE_DIR / 'templates'], 'APP_DIRS': True, 'OPTIONS': { # 其他配置项 }, }, ]
通过Django开发服务器访问
不要直接在浏览器中双击打开本地的base.html文件(此时URL以file://开头),必须启动Django开发服务器后,通过http://127.0.0.1:8000/这类地址访问对应的视图页面。验证模板语法
确认DTL标签没有拼写错误(比如把{%写成{{)、标签未正确闭合等问题,你的代码中{% block %}语法是正确的,这一步主要是做二次校验。
内容的提问来源于stack exchange,提问作者RomanaDiana
相关产品推荐
相关产品推荐

