Хранение и удаление тэгов и фильтров Django в моделях Django

Я выводя контент из своих моделей в свои шаблоны, однако некоторые поля моделей называют данные, хранящиеся в других моделях. Это происходит только в нескольких полях. Мне интересно, будет ли использование тега if для оценки этого более эффективным по сравнению с хранением тегов django внутри моделей.

Ответы на этот вопрос говорят, что хранение тегов django в моделях – плохая идея без объяснения причин (хотя я думаю, что одной из причин может быть кто-то другой, кто может добавить некоторые теги в базу данных). Предполагая, что инъекция базы данных является редкостью, существует способ избежать тэгов и фильтров Django, хранящихся в модели.

Или еще лучше, какой был бы наиболее эффективный метод для обработки вышеуказанной ситуации, когда одно поле модели в нескольких полях вызывает поля, хранящиеся в другой модели.

Пример :

Это должно храниться в моих моделях

 <p>We focus on:</p> {% for item in services %} {% url service_view item.id as service_url %} <ul> <li><a href="service_url">{{item.title}}</a></li> </ul> {% endfor %} 

Вывод его должен привести к анализу django соответствующих тегов django, как если бы часть шаблона

3 Solutions collect form web for “Хранение и удаление тэгов и фильтров Django в моделях Django”

Благодаря Ned, я попытался реализовать это, но я нашел, что он довольно сложный, а также невыгодный с точки зрения переносимости.

Тем не менее, я нашел то, что мне нужно в Django Snippets (не знаю, почему я не смотрел там в первую очередь). Это довольно полезная утилита, известная как render_as_template .

После настройки в качестве настраиваемого тега все, что мне было нужно, это использовать его в форме {% render_as_template about_view.content %} а теги в моделях были отображены как модели.

Инструкции по созданию собственных шаблонов и тегов, доступных здесь

Вероятно, django-dbtemplates подходит для того, чтобы делать то, что вы хотите.

Вы должны использовать теги включения, а затем включать этот тег везде, где хотите, чтобы html отображался. Модель должна просто генерировать значения для переменных, а не форматировать.

  • Ошибка Django «TemplateDoesNotExist», но «Использование загрузчика django.template.loaders.app_directories.Loader» Файл существует
  • Как обслуживать статические файлы администратора с помощью django.contrib.staticfiles в Django 1.4 (с использованием одного сервера Apache)?
  • Статические файлы Django не загружаются с настройкой по умолчанию
  • Сравнение тегов js и template
  • Любой способ сделать {% extends '...'%} условным? - Django
  • Django не может найти шаблон
  • Шаблоны Django: используйте разные css для страниц
  • не может быть выполнено, если условие с переменной django и переменной javascript
  • Python - лучший язык программирования в мире.