gpt4 book ai didi

模型的 Django HTML 片段

转载 作者:行者123 更新时间:2023-12-04 05:12:04 31 4
gpt4 key购买 nike

我是 Django 的新手,我试图找出如何将 HTML 片段与模型相关联。

我的 HTML 片段只是一个 div。我想重用那个 div(你可以把它想象成一个缩略图)

情况是这样的:在我的主页中,我想显示 x 个对象,而在我的搜索页面中,我想显示更多的对象。但代表是一样的。

我可以在 mainpage.html 和 searchpage.html 中编写将模型对象转换为 div 的所需方式,但我不确定重用该转换的最佳方式是什么?

我可以向我的模型添加一个函数,它返回一个 HTML div,然后我可以从主页和搜索页面模板调用它。但这会将模型和表示结合起来,我认为这不是一件好事。

如果我没记错的话inclusion_tag s 是要走的路,但我应该在哪个文件中保留函数定义?

最佳答案

正如您所说,您不希望在模型中使用 html,这违反了 MVC 模式。

Models用于存储数据。 Views用于选择要呈现的数据,同时 Templates用于数据的实际呈现。 (请参阅 django's interpretation of MVC 上的此注释)。

要回答您的问题,您需要一个模板(甚至 template tag )来表示您的模型,例如 model_block.html .类似的东西

{% if obj %}
<div id=obj.id>
{{ obj.name }}
</div>
{% endif %}

然后在您的 mainpage.html 中包含您的模板喜欢
{% for obj in object_list %}
{% include 'model_block.html' %}
{% endfor %}

您可以在 searchpage.html 中做同样的事情,传递不同的 object_list从你的角度来看变量。

关于模型的 Django HTML 片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14798318/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com