gpt4 book ai didi

python - 类型错误... 'myModel' 对象不可迭代

转载 作者:行者123 更新时间:2023-11-28 17:49:15 25 4
gpt4 key购买 nike

67  <h2>Latest Posts</h2>
68
69 <ul>
70 {% for post in posts %}
71 <li><a href="{{ post.get_absolute_url }}">{{post.title}}</a></li>
72 {% endfor %}
73 </ul>

这是我的基本模板,当我点击帖子时,在第 70 行出现错误:

TypeError at /blog/posts/indiana-was-dogs-name/
'Blog' object is not iterable

我的博客模型:

class Blog(models.Model):
title = models.CharField(max_length=100, unique=True)
slug = models.SlugField(max_length=100, unique=True)
body = models.TextField()
posted = models.DateField(db_index=True, auto_now_add=True)
category = models.ManyToManyField(Category)


def __unicode__(self):
return self.title

def get_absolute_url(self):
return "/blog/posts/%s/" % self.slug

我的索引 View :

定义索引(请求):

    variables = RequestContext(request, {
'categories': Category.objects.all(),
'posts': Blog.objects.filter(posted__lte=datetime.now()).order_by('-posted', 'title')
})
return render_to_response('index.html',variables)

有几篇关于这样的错误的帖子,但不包括我的问题

最佳答案

正如它所说,您传递给模板的 blogs 变量是不可迭代的。您只能遍历列表和其他可迭代对象,在您的情况下,blogs 是一个 Blog 实例,它应该是一个 QuerySet。例如,你可以写

blogs = Blog.objects.all()
return render_to_response(..., {'blogs':blogs,...} ...}

编辑

如果您使用 Django 文档中给出的确切语法,我会感觉更安全。也许语法差异是罪魁祸首,我真的还没有看到。

render_to_response(template_name[, dictionary][, context_instance][, mimetype])

字典设置为 {'categories': Category.objects.all(), 'posts': Blog.objects.filter(posted__lte=datetime.now()).order_by('-posted', ' title')}context_instance=RequestContext(request)

关于python - 类型错误... 'myModel' 对象不可迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13324072/

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