我可以在 Django 的两列模板中动态放置项目吗?
Posted
技术标签:
【中文标题】我可以在 Django 的两列模板中动态放置项目吗?【英文标题】:Can I dynamically place items in two-column template in Django? 【发布时间】:2021-02-02 20:07:44 【问题描述】:标题可能不太清楚,所以让我详细说明一下。我有一个两列模板,并且想在其中加载一些项目。它看起来像这样:
item1 | item2 item3 | item4 item5 | item6 item7 | item8 ...
这是我的模板中最远的:
% for a in answers %
<div class="row justify-content-center">
<div class="col-6 text-center">
<div class="row justify-content-center">
<div class="col">
<div class="answers">a.title</div>
</div>
</div>
</div>
<div class="col-6 text-center">
<div class="row justify-content-center">
<div class="col">
<div class="answers">a.title</div>
</div>
</div>
</div>
</div>
% endfor %
显然,它没有按我的意愿加载项目。我怎样才能做到这一点?很感谢任何形式的帮助! :) +一些其他代码以获取更多信息: 视图.py
def qandaSquare(request, pk):
answers = Answer.objects.filter(authuser=request.user.id, question_number=pk)
context =
'answers' : answers,
return render(request, 'main/square.html', context)
【问题讨论】:
那么它现在给出了什么? 【参考方案1】:试试:
<div class="row justify-content-center">
% for a in answers %
<div class="col-6 text-center">
<div class="row justify-content-center">
<div class="col">
<div class="answers">a.title</div>
</div>
</div>
</div>
% if forloop.counter|divisibleby:2 %
</div>
<div class="row justify-content-center">
% endif %
% endfor %
</div>
参考:divisible_by | forloopcounter
【讨论】:
非常感谢。它几乎可以工作。我之所以说“几乎”是因为当项目数为奇数时,最后一个位于模板的中间。我希望它在左栏中。请问有什么建议吗? 那是因为你使用的是justify-content
。
哇,现在完美运行。非常感谢:)以上是关于我可以在 Django 的两列模板中动态放置项目吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何在扩展另一个文件的 django 模板中使用带有动态内容的 html 块片段?
Django:为啥我放置在 Django Summernote 中的文本会在我的 HTML 模板中显示 HTML 标记?