Как написать повторно используемый компонент html / css / js в django? - PullRequest
0 голосов
/ 07 марта 2012

В моей модели есть данные, которые постоянно отображаются с использованием одного и того же html / js / css.Я испытываю желание придумать собственный тег шаблона, чтобы упростить рендеринг модели до чего-то вроде {% create_component mymodel %}.Но проблема в том, что css / js также включен, и я хотел бы, чтобы это автоматически добавлялось в заголовок страницы (а не где-то в теле страницы)

Есть ли способ сделать это?

Спасибо!

1 Ответ

0 голосов
/ 08 марта 2012

Я написал django templatetag для labjs , используя очереди. Помимо преимуществ уменьшенной блокировки ресурсов, он также облегчает создание компонентов, включающих собственный JavaScript, не беспокоясь о производительности или двойных вызовах.

Если вы дважды загружаете файл javascript, он игнорирует второй вызов, и, комбинируя его со сжатием django, вы можете создавать «связки». Это все еще не идеально, и я пытаюсь написать приложение django, которое использует headjs , и сделать более зрелое или всеобъемлющее приложение для обработки повторно используемых компонентов django, которые включают html и css.

Это будет работать для js, но для css вы можете сделать что-то похожее, js-библиотеку для динамической загрузки css-файлов.

Преимущество обработки этого на стороне клиента состоит в том, что вы получаете антиблокировочные преимущества отложенной загрузки.

Если вам нужен простой и простой способ на стороне сервера, вам нужен реестр css / js. Вы можете легко написать промежуточное программное обеспечение, которое выводит все «зарегистрированные» js и css в заголовок, и вы можете включить некоторые css / js, регистрирующиеся в ваш шаблон тега пользовательской модели.

Для этого вы можете использовать или повторно использовать django-assets .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...