【发布时间】:2021-04-17 10:33:07
【问题描述】:
我正在尝试允许用户赞助帖子,以便为帖子带来更多点击。我想让每第五个帖子成为赞助帖子,但如果我尝试在模板中使用除以并循环浏览广告,那么它将在第四个帖子之后发布所有广告
这是我尝试过的一些代码
编辑:我已将问题更改为不会显示帖子的内容,有人可以告诉我我哪里错了吗?
型号:
class Ads(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE, null=True)
观看次数:
def home(request, pk):
post_list = []
ad_list = []
for p in Post.objects.all():
post_list.append(p.Post)
for a in Ads.objects.all():
ad_list.append(p.Ads)
n = 5
iter1 = iter(post_list)
post_ad_list = []
for x in ad_list:
post_ad_list.extend([next(iter1) for _ in range(n - 1)])
post_ad_list.append(x)
post_ad_list.extend(iter1)
context = {
'posts': post_ad_list,
}
return render(request, 'new.html', context)
我尝试过但不起作用的模板:
{% for item in posts %}
//prints products and ads
{% endfor %}
【问题讨论】:
-
这个模板标签无疑会对你有所帮助; docs.djangoproject.com/en/dev/ref/templates/builtins/…
-
该模板标签可以帮助我每 5 个帖子发布一个广告,但我不知道如何让它从对象中发布一个广告而不是发布所有对象
标签: django django-views django-templates