6
我目前面臨嚴重的問題。 我使用標準的django管理界面,更改列表以顯示我的一個模型。 該模型有一個字段,其中包含一個鏈接(例如,在數據庫中:http:// localhost:8000/data/somefile.pdf'>鏈接)。在Django管理更改列表中顯示未轉義的HTML字符串
我現在想要的是該字符串呈現爲未轉義並顯示爲鏈接。我已經在「change_list_results.html」中嘗試了以下內容:
{% for result in results %}
<tr id="{{ result.1|adminfilter }}" class="{% cycle 'row1' 'row2' %}">
{% for item in result %}
{{ item|safe }}
{% endfor %}</tr>
{% endfor %}
我對輸出的實際項目使用了「| safe」。此外,我嘗試了「{%autoescape off%}」。同樣的結果,字符串得到了逃脫。
你是否看到任何其他方式讓字符串顯示未轉義?
丹尼爾,謝謝你的提示。我必須在模型中定義一個返回鏈接的方法,並標記此方法.allow_tags = True。 – 2010-08-04 11:28:31
因爲鏈接,答案仍然正確。但'allow_tags'在Django 1.9中已被棄用。使用'format_html()'代替:'從版本1.9開始棄用: 在舊版本中,您可以向該方法添加allow_tags屬性以防止自動轉義。此屬性已棄用,因爲使用format_html(),format_html_join()或mark_safe()代替它更安全。 https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display – gabrieloliveira 2016-02-24 20:03:18