12 Ocak 2010, Salı
Nasıl yeni Django mesajlar çerçevesinde bir mesaj çıktı HTML muyum?
Yeni Django mesajları Çerçevesi aracılığıyla görüntülenen bir mesaj içinde html biraz görüntülemek için çalışıyorum. Özellikle, ModelAdmin üzerinden yapıyorum.sadece mesaj etrafında ince bir sarıcı olan message_user yöntemi, ():
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)
Denedim her şeyi şimdiye kadar kaçtı HTML görüntüleme gibi görünüyor.
self.message_user(request, "<a href=\"http://www.google.com\">Here's google!</a>")
İşe yaramıyor, ne yapar:
from django.utils.safestring import mark_safe
...
self.message_user(request, mark_safe("<a href=\"http://www.google.com\">Here's google!</a>"))
Admin base.html şablon şablon kodu ekranı oldukça basittir:
{% if messages %}
<ul class="messagelist">{% for message in messages %}<li>{{ message }}</li>{% endfor %}</ul>
{% endif %}
Tam olarak ne yanlış ne yapıyorum emin değilim.
Düşünce veya rehberlik büyük takdir, teşekkür ederim!
CEVAP
12 NİSAN 2012, PERŞEMBE
Başka bir seçenek extra_tags
anahtar kelime arg mesaj güvenli olduğunu belirtmek için kullanmaktır. Örn
messages.error(request, 'Here is a <a href="/">link</a>', extra_tags='safe')
sonra şablon mantığı güvenli filtre kullanın
{% for message in messages %}
<li class="{{ message.tags }}">
{% if 'safe' in message.tags %}{{ message|safe }}{% else %}{{ message }}{% endif %}
</li>
{% endfor %}
Bunu Paylaş:
Nasıl HTML kodu Sublime Text 2 kullana...
Nasıl bir HTML öğesi almak'In ger...
Nasıl yeni bir django uygulaması dışın...
Nasıl çıktı bir yeni satır yapmak...
Nasıl HTML kod çözme/kodlama kullanara...