【问题标题】:In django template when scrolling remove div blocks在 django 模板中滚动删除 div 块
【发布时间】:2021-07-20 22:32:05
【问题描述】:

在 django 模板 (queryset) 中,当 div 块从浏览器的视野中消失时,滚动时立即删除它们,即向下滚动时动态删除顶部的块,向上滚动时从底部删除块以及在需要时删除块重新显示它们? (对不起我的英语)

【问题讨论】:

    标签: javascript python django


    【解决方案1】:

    Django 的模板只能用于服务器端渲染。 Django 将一个充满数据的上下文字典传递给渲染引擎,渲染引擎将使用该数据和模板来生成一个提供给客户端的 HTML 文档。在 HTML 文档被渲染并提供给用户之后,Django 的模板系统就不能再参与了。

    您所描述的行为只能在客户端实现。此类问题的典型解决方案通常涉及两件事:

    • 在客户端用于呈现数据和控件的前端框架(例如 react、vue 等)
    • 前端框架可以调用以获取/提交数据的 API

    您可以使用mature REST framework for Django 来实现 API,并且您可以使用任何前端框架来处理客户端渲染。

    【讨论】:

      【解决方案2】:

      您可以使用Intersection Observer API 查看<div> 是否可见,然后将其内容删除或添加到DOM。

      使用Fetch API 从后端获取数据。

      要进行渲染,您可以简单地编写一个Web Component,使用具有所需布局的模板。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-04-14
        • 1970-01-01
        • 2021-06-15
        • 1970-01-01
        • 1970-01-01
        • 2011-05-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多