我在调用从另一个函数
返回结果的函数时遇到问题为清楚起见,我的职能是:
def calculate_questions_vote(request):
useranswer = Answer.objects.filter (answer_by = request.user)
positive_votes = VoteUpAnswer.objects.filter(answer = useranswer)
negative_votes = VoteDownAnswer.objects.filter(answer = useranswer)
question_vote_rank = sum(positive_votes) - sum(negative_votes.count)
return question_vote_rank
def calculate_replies(request):
the_new = News.objects.filter(created_by = request.user)
reply = Reply.objects.filter(reply_to = the_new)
reply_rank = sum(reply)
return reply_rank
我希望在另一个函数中调用它们,以便它可以返回一个值。 我正在调用函数形式的另一个函数:
rank = calculate_questions_vote
假设我现在只想显示函数calculate_questions_vote返回的值。 当然,我将rank变量放在函数的上下文中。
我的问题是我的输出是:
<function calculate_questions_vote at 0x9420144>
如何实际显示函数返回的值,而不是该字符串?
答案 0 :(得分:5)
您需要将请求对象传递给calculate_questions_vote
,如:
rank = calculate_questions_vote(request)
答案 1 :(得分:5)
这是基本的Python。你正在做的只是引用函数 - 将函数本身分配给另一个变量。要实际调用函数,您需要在其名称后使用括号:
calculate_questions_vote()
在您的情况下,您已将该函数定义为需要request
对象,因此您还需要在调用中使用该函数:
calculate_questions_vote(request)