4

Markdown ライブラリを使用すると、次のエラーが発生するようです。

「マークダウン」フィルターのエラー: Django は、2.1 より前の Python マークダウン ライブラリのバージョンをサポートしていません。

例として、次のようなタグで発生します。

{{ticket.get_description|markdown:"safe,footnotes,tables"}}

get_description関数はモデルで定義されますTicket。最近 Django 1.5 にアップグレードしましたが、コードは Django 1.4 より前に書かれています。マークアップ ライブラリも 2.3.1 にアップグレードしましたが、問題は解決しません。念のため、古い .pyc ファイルもクリアしました。

私が読んだことから、django.contrib.markupライブラリは廃止されました。では、提案された解決策/代替案は何でしょうか?

4

2 に答える 2

4

1つのアイデアは、Pythonのmarkdown2ライブラリをインストールすることです here を参照してから、デコレータを作成します

import markdown2
.. all other imports needed..

register = template.Library()

@register.filter(is_safe=True)
@stringfilter
def markdown2(value):
    return mark_safe(markdown2.markdown(force_unicode(value),safe_mode=True,enable_attributes=False))

それからあなたはそれを使う

{% load myapp_markup %}
{{ value|markdown2 }}

コードはここから採用されています(テストされていません)

于 2013-05-22T13:02:20.370 に答える