' WSGIRequest'对象没有属性' flash'

时间:2016-08-06 03:53:12

标签: python django

我非常需要你的帮助。我目前正在尝试使用闪存传递字符串值,但我不确定我是否正确使用它。

这是我的代码:

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的新手,所以这对我来说并不是很清楚。非常感谢您的帮助。感谢

1 个答案:

答案 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这种事情更为常见。