python - 如何呈现 HTML 模板?
问题描述
我正在研究这种方法(来自安东尼奥·梅勒(Antonio Mele)所写的书)
def post_list(request):
posts = Post.published.all()
return render(request,'blog/post/list.html',{'posts': posts})
OP说我们将创建HTML模板来渲染视图生成的数据。我不明白。这是博客文件夹ls输出
~/mysite/blog$ ls
admin.py apps.py __init__.py migrations models.py __pycache__ tests.py views.py
这就是视图的样子
cat views.py
from django.shortcuts import render
在此示例中,我无法掌握 post 和 views.py 之间的链接。
解决方案
当您在相应的 url 上发布一些数据时,view.py 和 post 方法中的代码将运行。浏览以下代码段:
def post_list(request): # http://127.0.0.1:8000/myurl
if request.method == 'POST':
# process the posted data if you wish to by
# posted_data = request.data
posts = Post.published.all()
return render(request,'blog/post/list.html',{'posts': posts})
在上述情况下,您必须将 html 模板文件存储在 template/app_name/html_file.html 目录中。因此,当您的 post 方法执行时,它将返回该 html_file.html 文件并为其添加上下文,如下所示:
context = {"posts": posts}
return render(request, "video_response.html", context)
您必须在 html_file.html 中添加 {{ posts }} 才能在 views.py 的 post 方法中呈现该数据
推荐阅读
- discord - 如果成员为 None,则禁止命令:[discord.py]
- sql-server - Microsoft SQL 从 X 表中选择
- python - 将 Keras Timeseriesgenerator 与 keras.wrappers.scikit_learn KerasRegressor 一起使用
- reactjs - TypeError:当我尝试使用 items.map 时,无法读取未定义的属性“地图”
- javascript - 从安全帽中的交易收据中获取事件
- javascript - 第 3 方是否可以在浏览器中监控任何活动的 WebRTC 连接?
- reactjs - 反应打字稿错误类型'{ id:数字;标题:字符串;函数():无效;}' 不可分配给类型 'null'
- flutter - Flutter DateFormat 无效的日期格式
- react-native - 用户未定义,但 response.data 未定义
- hide - 无法在 angular10 环境变量中隐藏 api 键