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 中)

将forloop给出的字典输出存储在python中。

如何从不同的索引启动 forloop.counter

如何在 django 模板中设置自定义 forloop 起点

Django forloop 索引操作