Django 模板(Template)四步曲
【摘要】 Django 模板(Template)四步曲目标:让漂亮的 HTML 页面动态展示数据库数据,而不用手写 SQL。一、T 是什么T 即 Template,负责把 数据 + HTML 拼成最终页面。Django 的模板语法 ≈ “HTML + 占位符”。二、四步流程(跟着做就能跑)步骤关键动作代码/命令① 建模板文件夹在项目根新建 templates/mkdir templates② 告诉 ...
Django 模板(Template)四步曲
目标:让漂亮的 HTML 页面动态展示数据库数据,而不用手写 SQL。
一、T 是什么
T 即 Template,负责把 数据 + HTML 拼成最终页面。
Django 的模板语法 ≈ “HTML + 占位符”。
二、四步流程(跟着做就能跑)
步骤 | 关键动作 | 代码/命令 |
---|---|---|
① 建模板文件夹 | 在项目根新建 templates/ |
mkdir templates |
② 告诉 Django 路径 | 修改 settings.py |
python TEMPLATES = [{'DIRS': [BASE_DIR/'templates']}] |
③ 写模板文件 | templates/index.html |
html <h1>{{ title }}</h1> |
④ 渲染并返回 | 视图里用 render |
python return render(request,'index.html',{'title':'Django'}) |
三、模板语法速查
语法 | 作用 |
---|---|
{{ var }} |
输出变量 |
{% if %} / {% for %} |
条件、循环 |
{% url 'name' %} |
反向解析路由 |
四、动态数据示例
视图 views.py
def index(request):
books = Book.objects.all() # 查数据库
return render(request, 'index.html', {'books': books})
render(request, 'index.html', {'books': books})
一行拆成三段:
-
request
Django 把浏览器发来的所有请求信息(GET/POST 数据、Cookie、META 头)封装成HttpRequest
对象,模板里要用时需原封不动传进去。 -
'index.html'
告诉 Django 去 模板目录(settings.py
里配置的templates/
)里找文件index.html
作为“外壳”。 -
{'books': books}
数据字典(又称 context)。
• 键'books'
是模板里用的变量名。
• 值books
是视图里查到的 QuerySet / 列表 / 字典等真实数据。
最终效果:
Django 把 books
里的每一本书塞进 index.html
的 {{ books }}
位置,生成完整 HTML 后返回给浏览器。
模板 index.html
<ul>
{% for book in books %}
<li>{{ book.name }}</li>
{% endfor %}
</ul>
五、一句话总结
模板 = HTML 壳子;
render()
把数据塞进壳子 → 生成最终页面。感觉有点像freemarker
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)