前面将hello world输出给浏览器,将数据与 视图 混合在一起,不符合 MVC思想。
模板就是一个文本,用来分离文档的表现形式和内容。
在templates目录下创建一个html模板
然后需要向Django 说明模板文件的路径
修改settings.py TEMPLATES 中的DIRS参数
注意,这里的BASE_DIR是db.sqlite3 所在目录的相对路径,否则找不到模板。
"DIRS": [os.path.join(BASE_DIR, 'HelloWorld/templates')],
修改views.py. 增加一个新的对象。用于向模板提交数据
from django.shortcuts import render def hello2(request): context = {} context["hello"] = "Hello World2" return render(request, "helloworld.html", context)
urlpatterns
path('hello', views.hello2),
注意 文件名称写对没。
Django 模板标签
- 变量 模板语法
view: {"HTML变量名": "views变量名"}
HTML: {{变量名}} - 列表
def hello2(request): context = {} context["hello"] = "Hello World2" context['views_list'] = ['series', 'dataframe', 'index'] view_dict = {"learn": "numpy"} context["view_dict"] = view_dict return render(request, "helloworld.html", context)
<h1>{{ hello }}</h1> <h1>{{ views_list}}</h1> <h1>{{ views_list.0}}</h1> <h1> {{ view_dict.learn}}</h1> <h1> 过滤器: {{hello | lower }}</h1>
- 字典
也可以自定义。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧