我想顯示一個消息,通過新的Django消息框架顯示一點的HTML。如何在新的Django消息框架中的消息中輸出HTML?
def message_user(self, request, message):
"""
Send a message to the user. The default implementation
posts a message using the django.contrib.messages backend.
"""
messages.info(request, message)
一切到目前爲止,我已經試過似乎顯示轉義的HTML:具體來說,我通過ModelAdmin.message_user方法,這僅僅是圍繞消息的薄包裝()這樣做。
self.message_user(request, "<a href=\"http://www.google.com\">Here's google!</a>")
不工作,也不:
from django.utils.safestring import mark_safe
...
self.message_user(request, mark_safe("<a href=\"http://www.google.com\">Here's google!</a>"))
在管理base.html文件模板模板代碼的顯示是非常簡單的:
{% if messages %}
<ul class="messagelist">{% for message in messages %}<li>{{ message }}</li>{% endfor %}</ul>
{% endif %}
所以我不完全確定我做錯了什麼。
想法或指導非常感謝,謝謝!
{{消息|安全}}確實工作;但是,這是一個內置的管理員基礎模板,所以編輯它並不那麼簡單(另外我不一定要將每條消息標記爲安全的)。 我很確定問題在於,因爲這是在請求週期內保存(並在下一個顯示),任何企圖將其標記爲安全的嘗試都是徒勞的。 – jsdalton 2010-01-12 23:48:40
問題:當你把它放在隊列中時,你可以標記消息「安全」嗎?我沒有看,但這是我第一件事。 – 2010-01-13 01:42:48
@Peter - 試過(通過mark_safe在我的問題中的代碼示例),但沒有運氣。從我所知道的情況來看,當消息被實際顯示時(在下面的請求中),這並沒有被保留。 – jsdalton 2010-01-13 13:29:41