When using the Markdown libraries I seem to get the following error:
Error in \'markdown\' filter: Django does not support versions of the Python markdo
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
Just an update:
My decorator looks like this:
import markdown2
from django import template
from django.template.defaultfilters import stringfilter
from django.utils.encoding import force_unicode
from django.utils.safestring import mark_safe
register = template.Library()
@register.filter(is_safe=True)
@stringfilter
def convertTxt(value):
return mark_safe(markdown2.markdown(force_unicode(value)))
register.filter('convertTxt', convertTxt)
Also, I've noticed that it is not prudent to name your module or your method markdown2 :)