首页 > 解决方案 > Django - 如何使锚点更改 HTML 列表

问题描述

我有以下 HTML 片段:

在此处输入图像描述

在我的 django 网页上,我得到一个如下所示的列表:

在此处输入图像描述

每个“Part”锚点对应于 Python 中的一个 Part 对象。现在,我想这样当用户点击“Part_2”时,该部分的数据点显示在它的正下方。

在图像上,第一部分的数据点显示在嵌套列表中。我对此进行了硬编码。我研究了使用模板中的参数调用 python 函数,但这是不可能的。

什么是实现这一目标的简单方法?

标签: pythonhtmljquerydjango

解决方案


您可以在客户端实现此目的。首先,在您的 HTML 中创建一个detail元素,并将摘要和您需要的标签(在这种情况下,我将使用 a <p></p>)作为子元素:

<details>
  <summary>Part 1</summary>
  <p>Epcot is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.</p>
</details>

标签内的summary内容将代表标题,其下方是隐藏的文本,可以通过单击标题侧面的箭头来访问。

然后,确保views.py按 part_1 和 part_2 过滤你的函数,然后将它们传递到你的context. 最后,像这样渲染项目:

<details>
    <summary>Part 1</summary>
      {% for part in part_1 %}
         <p> {{ part.tag }}</p>
      {% endfor %}
</details>

推荐阅读