dmptrluke / django-markdownfield

A simple custom field for Django that can safely render Markdown and store it in the database.
MIT License
44 stars 13 forks source link

Feature request: do not require storing of rendered text #19

Open bernd-wechner opened 1 year ago

bernd-wechner commented 1 year ago

I do see the performance advantage of storing rendered Markdown, but also wonder why there is no documented means for avoiding it. It seems a perfectly valid and common use case to me, to store only the markdown and render on, well, rendering the template. That is rather than:

from django.db import models

from markdownfield.models import MarkdownField, RenderedMarkdownField
from markdownfield.validators import VALIDATOR_STANDARD

class Page(models.Model):
    text = MarkdownField(rendered_field='text_rendered', validator=VALIDATOR_STANDARD)
    text_rendered = RenderedMarkdownField()

and in templates:

{{ post.text_rendered | safe }}

something more like:

from django.db import models

from markdownfield.models import MarkdownField
from markdownfield.validators import VALIDATOR_STANDARD

class Page(models.Model):
    text = MarkdownField(validator=VALIDATOR_STANDARD)

and in templates:

{{ post.text | render_markdown }}

Not only is that use case to my mind very valid, I think that the render_markdown filter would find broader use in templates.