“Status”对象不是iterable python Djang

2024-05-19 08:58:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我的视图.py公司名称:

def responded(request):
  reply_twt = Reply_twt.objects.all() 
  for tweet in reply_twt:
    rply_tweet = home_timeline.api.get_status(tweet.tweetid)
  return render (request, 'analytics/responded.html', {'rply_tweet': rply_tweet})

我的html:

{% extends 'analytics/header.html' %}
{% block body %}

        {% for tweet in rply_tweet %}
            {{tweet.text}}
        {% endfor %}
{% endblock %}

我需要打印多张推特.text在for循环中,即使我将数据发送到html页面,它也只是单个tweet上的数据。如何解决这个问题。提前谢谢你


Tags: 数据textinpy视图forrequesthtml
2条回答

你写的是:

for tweet in reply_twt:
    rply_tweet = home_timeline.api.get_status(tweet.tweetid)

这意味着在每次迭代之后,您将用新迭代的响应覆盖rply_tweet。但是你的模板似乎暗示你想要呈现所有的响应(另外,它只会浪费资源,因为你从不使用以前的响应)。在

例如,您可以构造一个list,其中包含列表理解的所有响应:

^{pr2}$

也就是说,如果您的Reply_twt存储了tweet的所有信息(或者至少是您想要呈现的数据),那么您最好使用以下对象:

# in case a Reply_twt contains *all* the necessary data
def responded(request):
    reply_twt = Reply_twt.objects.all()
    return render (request, 'analytics/responded.html', {'rply_tweet': reply_twt })

只需返回完整的tweets列表

在视图.py在

def responded(request):
  reply_twt = Reply_twt.objects.all() 
  return render (request, 'analytics/responded.html', {'rply_tweet': list(reply_twt}))

相关问题 更多 >

    热门问题