from django.contrib.sites.shortcuts import get_current_site from django.db import models from django.utils.html import mark_safe from markdown import markdown import bleach class PonyConfModel(models.Model): created = models.DateTimeField(auto_now_add=True) updated = models.DateTimeField(auto_now=True) class Meta: abstract = True def markdown_to_html(md): html = markdown(md) allowed_tags = bleach.ALLOWED_TAGS + ['p', 'pre', 'span', 'img'] + ['h%d' % i for i in range(1, 7) ] allowed_attributes = bleach.ALLOWED_ATTRIBUTES['img'] = ['src', 'alt'] html = bleach.clean(html, tags=allowed_tags, attributes=allowed_attributes) return mark_safe(html)