在上一篇中我们使用 django.http.HttpResponse() 来输出 “Hello World!”。该方式将数据与视图混合在一起,不符合 Django 的 MVC 思想。
接下来将介绍 Django 模板的应用,模板是一个文本,用于分离文档的表现形式和内容。
首先,在 aa目录底下创建 templates 目录并建立 runoob.html文件,整个目录结构如下
runoob.html 文件代码如下:
<h1>{{ hello }}</h1>
从模板中我们知道变量使用了双括号。
接下来我们需要向Django说明模板文件的路径,修改aa/settings.py,修改 TEMPLATES 中的 DIRS 为 [BASE_DIR, “./templates”,],如下所示:
我们现在修改 views.py,增加一个新的对象,用于向模板提交数据:
aa/HelloWorld/views.py 文件代码:
from django.shortcuts import renderdef runoob(request):context = {}context['hello'] = 'Hello World!'return render(request, 'runoob.html', context)
aa/HelloWorld/urls.py 文件代码:
from django.urls import pathfrom . import viewsurlpatterns = [path('runoob/', views.runoob),
]
可以看到,我们这里使用 render 来替代之前使用的 HttpResponse。render 还使用了一个字典 context 作为参数。
context 字典中元素的键值 hello 对应了模板中的变量 {{ hello }}。
再次访问 127.0.0.1:8000/runoob,可以看到页面:
这样我们就完成了使用模板来输出数据,从而实现数据与视图分离。
yuanyuan啊
本文发布于:2024-01-31 10:48:41,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170666932327974.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |