Django:通过响应redi传递参数

2024-09-30 20:35:37 发布

您现在位置:Python中文网/ 问答频道 /正文

urlpatterns = patterns('tourney.views',
    url(r'^(?P<tourney_slug>[-\w]+)/$', 'tourney', name="tourney"),
)

#views.py:
def tourney(request,
            tourney_slug,
            message = None,
            template_name="tourney/tourney.html"
            ):
    tourney = Tourney.objects.get(slug=tourney_slug)
    message = message
    print(message)


#/somewhereElse
message = "Please enter valid values for submission."
return HttpResponseRedirect(reverse('tourney:tourney', 
                                    args=(tourney_slug,)
                                   ),
                            message=message
                            )

一个名为somewhereElse的页面将用户重定向到tourney视图。这段代码成功地重定向到tourney视图,但由于某些原因,消息没有作为参数传递。我的HttpResponseRedirect的构造有什么问题?在


Tags: namepy视图urlmessagerequestdef重定向
1条回答
网友
1楼 · 发布于 2024-09-30 20:35:37

重定向只是意味着您的浏览器将加载重定向中指定的url而不是当前页面。它在Django中作为一个单独的请求进行处理,因此它不共享状态,并且消息参数丢失。HttpResponseRedirect开头也没有message参数,因此将其传递给响应是行不通的。在

您可能希望将消息存储在cookie或会话中,并在下一个请求时检索并显示它。一种方法是使用messages framework。在

相关问题 更多 >