When using the Markdown libraries I seem to get the following error:
Error in 'markdown' filter: Django does not support versions of the Python markdown library < 2.1.
As an example, it occurs on a tag such as:
{{ticket.get_description|markdown:"safe,footnotes,tables"}}
The get_description
function is defined in the Ticket
model. We've upgraded to Django 1.5 recently and the code was written pre Django 1.4. I've also upgraded the Markup library to 2.3.1 but the problem still persists. I've also cleared old .pyc files, just to be sure.
From what I've read, the django.contrib.markup
libraries have been deprecated. So, what would the suggested solution/alternative be?
one idea is to install markdown2 library of python see here then you create your decorator
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))
then you use it
{% load myapp_markup %}
{{ value|markdown2 }}
code is adpated (and not tested) from here