url带参数重定向

django重定向的方式有很多种,可以自行百度。这里我推荐是redirect和reverse的方式。很简洁,也可以解决传参数的问题

示例如下:


#投票结果查看

def results(request,question_id=1):
    return HttpResponse(r"you're looking  at the results of question %s." % question_id )





#投票功能
def vote(request,question_id):
        '''
        投票逻辑
        '''
        #投票完后跳转到结果页面,如下
        return redirect(reverse('polls:results', args=[question_id]))



说明:我们可以看到投票功能,在用户点击投票后,进过投票逻辑处理后,会跳转到上面的投票结果函数,返回给用户投票结果。  其中 polls:results 是一个路由,指向了上面的results函数,这个地方看不懂的请自己查询文档,不在本文讨论范围内。本文要讨论的是,重定向到results函数时,question_id参数怎么传递实参的问题。 vote 函数return语句中有一个args=[question_id],就是为了在重定向中传递参数的。 它是一个list,所以,如果如果results函数存在多个参数,请按顺序依次传递到args里面即可。

猜你喜欢

转载自my.oschina.net/RabbitXiao/blog/1808871