'Status' 对象不可迭代 python Django
'Status' object is not iterable python Django
我的 views.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 %}
我需要在 for 循环中打印多个 tweet.text,即使我将数据发送到 html 页面,它也只是单个推文中的数据。如何解决这个问题。提前谢谢你
你写:
for tweet in reply_twt:
<b>rply_tweet</b> = home_timeline.api.get_status(tweet.tweetid)
这意味着在每次迭代之后,您将覆盖 rply_tweet
新迭代的响应。但是您的模板似乎建议您要呈现 所有 响应(此外,它只会浪费资源,因为您从不使用以前的响应)。
因此,您可以构建一个 list
,其中包含所有具有列表理解的响应:
rply_tweet = <b>[</b>home_timeline.api.get_status(tweet.tweetid) for tweet in reply_twt<b>]</b>
也就是说,如果您的 Reply_twt
存储了推文的所有信息(或者至少是您要呈现的数据),您最好只使用这些对象:
# 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': <b>reply_twt</b> })
只是 return 推文的完整列表
views.py
def responded(request):
reply_twt = Reply_twt.objects.all()
return render (request, 'analytics/responded.html', {'rply_tweet': list(reply_twt}))
我的 views.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 %}
我需要在 for 循环中打印多个 tweet.text,即使我将数据发送到 html 页面,它也只是单个推文中的数据。如何解决这个问题。提前谢谢你
你写:
for tweet in reply_twt:
<b>rply_tweet</b> = home_timeline.api.get_status(tweet.tweetid)
这意味着在每次迭代之后,您将覆盖 rply_tweet
新迭代的响应。但是您的模板似乎建议您要呈现 所有 响应(此外,它只会浪费资源,因为您从不使用以前的响应)。
因此,您可以构建一个 list
,其中包含所有具有列表理解的响应:
rply_tweet = <b>[</b>home_timeline.api.get_status(tweet.tweetid) for tweet in reply_twt<b>]</b>
也就是说,如果您的 Reply_twt
存储了推文的所有信息(或者至少是您要呈现的数据),您最好只使用这些对象:
# 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': <b>reply_twt</b> })
只是 return 推文的完整列表
views.py
def responded(request):
reply_twt = Reply_twt.objects.all()
return render (request, 'analytics/responded.html', {'rply_tweet': list(reply_twt}))