я продлил django-markdown
с полем пользовательской модели, которая позволяет определять классы:Пользовательские модели поле рендеринг в шаблоне Django
from django.db import models
from django_markdown.fields import MarkdownField
class MyModel(models.Model):
text = MarkdownField()
class MySecondModel(models.Model):
description = MarkdownField()
Теперь, когда дело доходит до предоставления этих полей в шаблоне это можно сделать :
{% load markdown_tags %}
{{ model.text|markdown }} {{ model2.description|markdown }}
Однако, это, кажется, чтобы победить объект создания пользовательских полей модели в первую очередь (для повышения Сухость), и предпочтительно следует избегать любой ценой.
Итак, есть ли способ сделать только {{ model.text }} {{ model2.description }}
без загрузки тегов шаблона и без фильтрации, как-то определяя метод render
в настраиваемом поле?
Аналогичный вопрос уже задан: Is there a way to customize how the value for a custom Model Field is displayed in a template?, но ответ влечет за собой добавление метода к модели. Это означало бы добавление методов к MyModel
и MySecondModel
, а также любые последующие. Опять же, это побеждает весь объект СУХОЙ!
NB Оба класса моделей являются подклассами чего-то другого, поэтому определение микса возможно, но, безусловно, должно быть лучше!