Sto provando a visualizzare un po 'di html in un messaggio che viene visualizzato tramite il nuovo framework di messaggi Django. In particolare, sto facendo questo tramite il metodo ModelAdmin.message_user, che è solo un wrapper sottile intorno messaggi():Come faccio ad emettere l'HTML in un messaggio nel nuovo framework dei messaggi di Django?
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)
Tutto quello che ho provato finora sembra per visualizzare sfuggito HTML.
self.message_user(request, "<a href=\"http://www.google.com\">Here's google!</a>")
non funziona, né:
from django.utils.safestring import mark_safe
...
self.message_user(request, mark_safe("<a href=\"http://www.google.com\">Here's google!</a>"))
La visualizzazione del codice del modello nel modello di amministrazione base.html è abbastanza semplice:
{% if messages %}
<ul class="messagelist">{% for message in messages %}<li>{{ message }}</li>{% endfor %}</ul>
{% endif %}
Quindi sono Non sono sicuro di quello che sto facendo male.
Pensieri o indicazioni molto apprezzate, grazie!
{{messaggi | sicure}} effettivamente funziona; tuttavia, questo è un modello di base di amministrazione incorporato, quindi non è così semplice modificarlo (in più non voglio necessariamente contrassegnare ogni messaggio come sicuro). Sono abbastanza sicuro che il problema è che poiché questo viene salvato durante il ciclo di richiesta (e visualizzato sul prossimo), qualsiasi tentativo di contrassegnarlo come sicuro sarà inutile. – jsdalton
Domanda: puoi contrassegnare il messaggio "sicuro" quando lo metti in coda? Non ho guardato, ma è stata la prima cosa che mi è venuta in mente. –
@Peter - Ho provato (tramite mark_safe nell'esempio di codice nella mia domanda), ma senza fortuna. Da quello che posso dire, non viene conservato quando il messaggio viene effettivamente visualizzato (sulla richiesta successiva). – jsdalton