我非常需要你的帮助。我目前正在尝试使用闪存传递字符串值,但我不确定我是否正确使用它。
这是我的代码:
def first_view(request):
request.flash['message'] = 'Operation succeeded!'
return HttpResponseRedirect(reverse(second_view))
def second_view(request):
print request.flash['message']
request.flash.keep('message')
return HttpResponseRedirect(reverse(third_view))
我想传达这样的信息" Operation Succeeded"通过HttpResponseRedirect到second_view()然而我得到了这个错误消息。我是python和django的新手,所以这对我来说并不是很清楚。非常感谢您的帮助。感谢
答案 0 :(得分:1)
默认情况下,django HttpRequest对象没有名为flash的属性。这就是你得到这个错误的原因。您可以在此处查看可用的属性:https://docs.djangoproject.com/en/1.9/ref/request-response/#httprequest-objects
但是你没有理由不加一个。
def first_view(request):
request.flash = {'message'] : 'Operation succeeded!'}
return HttpResponseRedirect(reverse(second_view))
def second_view(request):
try:
print request.flash['message']
request.flash.keep('message')
except:
pass
return HttpResponseRedirect(reverse(third_view))
但是你的flash.keep
来自哪里我不知道!!正如wtower指出的那样,依靠django messages framework这种事情更为常见。