dan*_*ana 0 django return function call
我在调用从另一个函数返回结果的函数时遇到问题
为了说清楚,我的职责是:
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
Run Code Online (Sandbox Code Playgroud)
我想在另一个函数中调用它们,以便它可以返回一个值.我正在调用函数形式这样的另一个函数:
rank = calculate_questions_vote
Run Code Online (Sandbox Code Playgroud)
假设我现在只想显示函数calculate_questions_vote返回的值.当然,我将rank变量放在函数的上下文中.
我的问题是我的输出是:
<function calculate_questions_vote at 0x9420144>
Run Code Online (Sandbox Code Playgroud)
我怎样才能实际显示函数返回的值,而不是该字符串?
你需要传递一个请求对象calculate_questions_vote:
rank = calculate_questions_vote(request)
Run Code Online (Sandbox Code Playgroud)
这是基本的Python.你正在做的只是引用函数 - 将函数本身分配给另一个变量.要实际调用函数,需要在其名称后使用括号:
calculate_questions_vote()
Run Code Online (Sandbox Code Playgroud)
在您的情况下,您已将该函数定义为需要该request对象,因此您还需要在调用中使用该函数:
calculate_questions_vote(request)
Run Code Online (Sandbox Code Playgroud)