2013-10-11 2 views
1

Я разрабатываю сайт в Django, где многие экземпляры моделей сайтов представлены пользователю в стандартизованном формате на разных страницах. Я бы хотел избежать избыточности в кодировке шаблонов, создав стандартный шаблон шаблона экземпляра модели, а затем просто вставив его на каждую страницу, где должен отображаться экземпляр модели.Как создать стандартизованный шаблон шаблона экземпляра модели в django?

Какова наилучшая практика для создания стандартизованного кода отображения экземпляра, а затем его добавления на множество разных страниц?

ответ

2

Есть несколько способов достижения этого ...

Один заключается в использовании включает тег и передать свой объект в шаблон. Другим аналогичным подходом является создание тега шаблона для визуализации объекта, что полезно, если вам нужно выполнить некоторую дополнительную обработку на Python перед выполнением рендеринга.

Еще один способ добавить метод экземпляра в вашу модель, чтобы отобразить HTML (или какой-либо другой формат), точно так же, как экземпляр формы имеет .as_ul или .as_p, которые вы можете позвонить в свой шаблон там, где это необходимо.

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

+0

Благодарим за ответ, я думаю, что добавление метода разметки экземпляра в html, добавленного в класс модели, будет хорошо работать для моего текущего варианта использования. Могу ли я вызвать функцию непосредственно из объекта экземпляра в шаблоне или мне нужно предварительно загрузить вывод функции в контекст шаблона? – user220419

+0

Вы должны уметь ссылаться на метод непосредственно в шаблоне: 'your_model_instance.as_html' – Brandon

Смежные вопросы