HTML forloop - 双
Posted
技术标签:
【中文标题】HTML forloop - 双【英文标题】:HTML forloop - double 【发布时间】:2021-09-29 03:45:17 【问题描述】:我在我的网站的 html 文件中。第一个 forloop 检查用户登录的帐户,然后只显示该用户的数据,并且它自己完美地工作。
% for item in user.Doc.all %
第二个 forloop 循环遍历“__stratswith”Title: 的所有数据并显示它,这完全可以自己运行。
% for post in templates %
我正在使用 Django 和 python 来构建网站,一旦遇到这个问题,我就研究是否有任何其他方法可以在不同的位置循环 forloops,比如我的 views.py 文件,但我没有运气。我需要在 HTML 中做,但是当我写这个时......
% for item in user.Doc.all %
% for post in item.templates %
post.content
% endfor %
% endfor %
它不起作用。它表明有数据试图显示,因为我在 for 循环之前有一个 if 语句,但没有显示数据。我需要正确的方法在 HTML 文件中正确编写嵌套的 forloop,但我无法弄清楚。我的例子应该在我的脑海中起作用,而我所做的研究却没有。 我发现this 和this 提到了forloop.parentloop,这是我几天来最接近的,但仍然没有运气。感谢您的帮助!
这是我的views.py,以防万一,但它没有显示太多:
def docpostlistview(request):
docs = DocPost.objects.all()
context = "docs": docs
context['templates'] = DocPost.objects.filter(title__startswith="Temp: ")
return render(request, 'my_app/docpost_list.html', context)
编辑:
class DocPost(models.Model):
user = models.ForeignKey(User, default=True, related_name="Doc", on_delete=models.PROTECT)
title = models.CharField(max_length=100)
content = HTMLField(blank=True, null=True)
class Meta:
ordering = ['-pk']
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('doc-post-list')
【问题讨论】:
可以分享一下你的造型吗? 好的,模型是共享的@Willem Van Onsem 【参考方案1】:在您看来,您可以过滤查询集并将其附加到另一个属性,例如:
def docpostlistview(request):
context =
context['templates'] = DocPost.objects.filter(
user=request.user,
title__startswith='Temp: '
)
return render(request, 'my_app/docpost_list.html', context)
然后我们可以枚举templates
,所以没有双% for … %
循环:
% for item in templates %
item.content
% endfor %
【讨论】:
工作得很好 - 谢谢!以上是关于HTML forloop - 双的主要内容,如果未能解决你的问题,请参考以下文章
html JS.Basics.Arrays.IterateOverArray.ForLoop.js
打开新 div 时关闭其他 div(在 forloop.counter 中)