Django模板中的{% block %}标签显示为原始文本,说明模板未被Django引擎解析——根本原因是HTML文件被直接打开(如双击.html),而非通过Django开发服务器访问。必须经render()视图函数处理并由runserver提供响应。
django模板中的`{% block %}`标签显示为原始文本,说明模板未被django引擎解析——根本原因是html文件被直接打开(如双击`.html`),而非通过django开发服务器访问。必须经`render()`视图函数处理并由`runserver`提供响应。
在Django中,模板(.html文件)绝不能直接在浏览器中以file://协议打开(例如双击文件或拖入浏览器)。此时浏览器将其视为纯静态HTML,完全忽略所有Django模板语法(如{% extends %}、{% block %}),导致你看到的正是原始代码:{% block content %}{% endblock %}。
✅ 正确流程如下:
确保视图函数调用 render()
render() 是Django将上下文数据注入模板、执行模板引擎解析的核心函数。你的 views.py 必须返回 render(request, 'template_path.html'),而非其他方式:
# views.pyfrom django.shortcuts import renderdef frontpage(request): return render(request, 'core/frontpage.html') # ✅ 正确:触发模板渲染
URL路由必须指向该视图
在对应应用的 urls.py(如 core/urls.py 或项目主 urls.py)中正确定义路径,并确保已包含进主路由:
# core/urls.pyfrom django.urls import pathfrom . import viewsurlpatterns = [ path('frontpage/', views.frontpage, name='frontpage'), # 注意末尾斜杠(推荐)]
并在项目主 urls.py 中包含该应用路由:
# myproject/urls.pyfrom django.contrib import adminfrom django.urls import path, includeurlpatterns = [ path('admin/', admin.site.urls), path('', include('core.urls')), # ✅ 包含 core 应用路由]
启动Django开发服务器,通过HTTP访问
终端执行:
python manage.py runserver
然后在浏览器中访问:
? http://127.0.0.1:8000/frontpage/
(不是 file:///path/to/frontpage.html,也不是直接打开文件)
检查模板继承结构是否完整
你当前的 base.html 缺少 content 块定义,而 frontpage.html 又未覆盖它——这虽不会导致“显示原始代码”,但会导致页面空白或布局异常。建议补全基础结构:
<!-- templates/core/base.html --><!DOCTYPE html><html><head> <title>{% block title %}{% endblock %}Djangochat</title></head><body> <header> <h1>Djangochat</h1> </header> <main> {% block content %}<!-- 默认内容可选 -->{% endblock %} </main></body></html>
<!-- templates/core/frontpage.html -->{% extends 'core/base.html' %}{% block title %}Welcome | {% endblock %}{% block content %} <h2>Welcome to the Front Page!</h2> <p>This content is rendered inside the base layout.</p>{% endblock %}
⚠️ 常见误区提醒:
只要严格遵循「视图 → render() → URL路由 → runserver → 浏览器HTTP访问」这一链路,Django模板语法就会被正确解析,{% block %}、{% if %}、{{ variable }} 等全部生效。
2026阿里开发者评选出的全国最佳教培机构小程序开发工具实测对比:附教培机构小程序制作教程
轻抖app如何实名认证 轻抖实名认证方法
2026全国3款AI/SAAS商城小程序开发工具推荐:附商城小程序开发教程
RFID硬件选型与实操:标签打印机和手持终端:这两个设备选错很麻烦
专访GEO落地工程师罗长才:当静止轨道已然成为技术融合的枢纽
2026年7月全国精选3款AI/SAAS实体店小程序制作工具推荐:附门店小程序制作教程