是否可以在不刷新整个页面的情况下刷新包含的 Django 模板?
Posted
技术标签:
【中文标题】是否可以在不刷新整个页面的情况下刷新包含的 Django 模板?【英文标题】:Is it possible to refresh an included Django template without refreshing the whole page? 【发布时间】:2021-12-27 15:48:04 【问题描述】:我正在努力解决与one 类似的问题。我有一个 Django 模板,其中包含一大堆带有 for 循环的较小模板,用于呈现页面的各个方面。我想知道最好的方法是更新各个小模板以在主模板中呈现它们,而无需刷新整个页面。例如,Django 是否支持某种类似 React 的虚拟 dom 来仅重新呈现单个子模板?
我知道模板是在服务器上计算的,然后生成的 html 被发送到客户端进行渲染,所以可能无法就地渲染模板?上面的帖子提到使用 AJAX 将数据传递到服务器以刷新特定模板,但在我开始修改页面之前,我想知道这是否适用于一次渲染多个模板,如果可以,是否有人可以指出我一个对此进行了详细解释的示例;我一直在寻找,但没有找到。
谢谢!
【问题讨论】:
【参考方案1】:查看 htmx 和 django。有几个教程和文章。你当然可以使用 jQuery 和 Ajax,但是 htmx 使它更容易。
https://htmx.org/
https://www.mattlayman.com/blog/2021/how-to-htmx-django/
https://justdjango.com/blog/dynamic-forms-in-django-htmx
https://pythonrepo.com/repo/jacklinke-django-htmx-todo-list
【讨论】:
以上是关于是否可以在不刷新整个页面的情况下刷新包含的 Django 模板?的主要内容,如果未能解决你的问题,请参考以下文章
如何在不刷新整个页面的情况下更新 HTML 文档中的 php 变量?
如何在不刷新整个页面的情况下让 Grunt/Watch/LiveReload 重新加载 Sass/CSS?