2016-01-18 95 views
0

到目前爲止,(1)和(2)在我的Development Django環境中產生了相同的結果。但是它們是否真的相當,或者我最終會放棄一些我不能提前預測的信息?在HttpResponseRedirect中包含或不包含我的消息?

(1) 

return HttpResponseRedirect('/my/home/page', messages.add_message(request, messages.INFO, 'My message here')) 

(2) 

messages.add_message(request, messages.INFO, 'My message here') 
return HttpResponseRedirect('/my/home/page') 

回答

2

兩種方式工作,因爲messages.add_message()將消息添加到您的request.session原地。但第一個看起來很奇怪。 add_message不會返回任何有用的信息,以包含在HttpResponseRedirect中。所以,我相信你應該用第二個選項去:

messages.add_message(request, messages.INFO, 'My message here') 
return HttpResponseRedirect('/my/home/page') 

,或者使用兩個快捷方式,

from django.shortcuts import redirect 

messages.info(request, 'My message here') 
return redirect('/my/home/page') 
+0

謝謝亞歷克斯。我感到困惑,因爲兩者都產生了相同的結果。 – pebox11