gpt4 book ai didi

python - 如何添加到元组

转载 作者:行者123 更新时间:2023-12-01 00:03:05 25 4
gpt4 key购买 nike

我有一个元组,将 3 个项目传递到 HTML 页面,我希望它传递第四个项目。我在网上读到要做到这一点,我必须将我的元组变成一个列表,但我尝试了,但仍然没有得到任何东西(没有错误,对象只是最后没有出现) 。所以为了清楚起见,我把它藏了起来。

我正在尝试将“maybe_existing_user.fb_pic”添加到“details”元组中。

Python

@app.route('/results/<int:id>')
def results(id):
rate = 0 # either 0 or num/total
article_list_of_one = Article.query.filter_by(id=id)
a_obj = article_list_of_one[0]

avs_obj = retrieve_article_vote_summary(a_obj.id) # vote_summary is a list of [tuples('True', numOfTrue), etc]
total_votes = avs_obj.getTotalVotes()
vote_choices = []
vote_choice_list = VoteChoice.getVoteChoiceList()
for item in vote_choice_list: # looping over VoteChoice objects
num = avs_obj.getVoteCount(item.choice)
if total_votes > 0: # protecting against no votes
rate = num/total_votes
vote_choices.append([item.choice, item.color, num, rate*100, total_votes])

details = avs_obj.getVoteDetails() # 10/02 - retrieve array of tuples [(user, VoteChoice, Comments)]
print("Inside results(" + str(id) + "):")
details_count = 0
for detail in details:

maybe_existing_user = User.query.filter_by(name=detail[0]).first()
detail += (maybe_existing_user.fb_pic,)

print(detail)
#print(" " + str(details_count) + ": " + details[0] + " " + details[1] + " " + details[2])
details_count += 1

return render_template('results.html', title=a_obj.title, id=id,
image_url=a_obj.image_url, url=a_obj.url,
vote_choices=vote_choices, home_data=Article.query.all(),
vote_details=details)

HTML

<!DOCTYPE html>
<html>
<body>
{% for detail in vote_details %}
<strong>User:</strong> {{ detail[0] }} &nbsp; <strong>Vote:</strong> {{ detail[1] }} &nbsp; <strong>Comments:</strong> {{ detail[2] }}<br>
{{ detail[3] }}
{% endfor %}
</body>
</html>

最佳答案

您需要创建一个新的元组“详细信息”列表。在 Python 中,您通常无法“就地”更改列表。如果您只是在 for 循环内创建一个新的“详细信息”,它将不会传递到“详细信息”列表。

因此,您需要用以下行替换完整的循环for详细信息::

updated_details = [(user, VoteChoice, Comments, User.query.filter_by(name=user).first().fb_pic)
for (user, VoteChoice, Comments) in details]

最后,您将这些更新的详细信息用于返回的 render_template:

return render_template(..., vote_details=updated_details)

关于python - 如何添加到元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60192965/

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