2012-04-19 35 views
2

在Django的1.3和之前,你可以使用發送郵件到一個特定的用戶:Django的消息框架 - mesage特定用戶

user.message_set.create(message='some message text') 

爲Django的1.4的這個功能,取而代之的消息框架的被刪除。該消息框架使用的語法如下:

info(request, 'some message text') 

我想知道是否有可能要排隊的消息爲特定的用戶,如舊法允許的,而不是僅僅在request.user用戶?因此,在一個視圖中我希望能夠像做了以下內容:消息

susy = User.objects.get(username='susy') 

# send a message to susy even though request.user is john 
info(susy, 'some message text') 

回答

0

默認存儲引擎是現在用戶的cookies,這意味着你不能對任何人,但當前用戶存儲消息。要解決這個問題,你可以嘗試使用會話後端,獲取需要的用戶會話並直接在那裏寫消息 - 只需檢查後端本身如何在源代碼中實現它並使用相同的方法。

顯然,如果您的會話基於cookie,這也不起作用。

如果解決方案需要可靠且不依賴於應用程序配置,則需要爲消息處理創建基於數據庫的自定義解決方案。例如,您可以爲messages框架實現您自己的基於數據庫的存儲引擎。

+0

對不起,我已經花了很長時間來回應,我沒有機會回到我問這個問題,但我希望很快。我認爲它的功能被刪除是不幸的。我最終可能會實現自己的消息。 – joshcartme 2012-04-26 06:07:50

+0

@josh,到目前爲止如何? :)我對你是如何做的感興趣。 – ultrajohn 2013-02-02 18:23:40

+0

@ultrajohn不幸的是,我從來沒有結束這個任何更遠的地方,所以我沒有更多的提示,對不起= / – joshcartme 2013-02-04 02:07:23