У Django есть помощники HTML?

Вдохновленный ответом @jakemingolla, предложившего async-await, я начал использовать callback для возврата объекта 'Categories', и все работало отлично.

функция в моем файле dbconfig.js

const getCategoryList = (callback) => {
    CategoryRef.find().then((categories) => {
        callback(categories);
    })
}

, вызывающая функцию в моем файле app.js

app.get('/', (req, res) => {
    database.getCategoryHomeList((categories) => {
        res.render('home', {categories: categories});
    })
});
23
задан harriyott 14 September 2008 в 19:23
поделиться

6 ответов

Нет это не делает.

James Bennett ответил подобный вопрос некоторое время назад, относительно встроенных помощников JavaScript направляющих.

действительно маловероятно, что у Django когда-либо будет функциональность 'помощника' встроенной. Причина, если я понимаю правильно, имеет отношение к базовой философии Django хранения вещей , слабо связал . Наличие такой встроенной функциональности помощника приводит к связи Django с определенной библиотекой JavaScript или (в Вашем случае) тип документа HTML.

EG. Что происходит, если/когда HTML 5 наконец реализован, и Django генерирует HTML 4 или разметку XHTML?

Однако шаблонная платформа Django действительно гибка, и это не было бы ужасно трудно к , пишут Ваши собственные теги/фильтры , который сделал то, что Вы хотели. Я - главным образом разработчик сам, и я был в состоянии соединить пару пользовательских тегов, которые работали как очарование.

26
ответ дан 29 November 2019 в 01:39
поделиться

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

http://www.djangosnippets.org/snippets/441/

2
ответ дан 29 November 2019 в 01:39
поделиться

Здесь список всех тегов шаблона и фильтрует встроенный в Django. Ядро Django не имеет такого же количества помощников HTML как направляющие, потому что участники Django предположили, что веб-разработчик знает HTML очень хорошо. Как указано saturdaypalace, это очень маловероятно для помощников Ajax быть добавленным к Django, потому что это привело бы к связи Django с определенной библиотекой JavaScript.

Это очень легко к , пишут Ваши собственные теги шаблона в Django (часто, необходимо только определить одну функцию, similiar к направляющим). Вы могли повторно реализовать большинство помощников направляющих в Django в течение дня или два.

1
ответ дан 29 November 2019 в 01:39
поделиться

Бьюсь об заклад, если бы было какое-либо согласие с тем, что является распространенным html , также был бы модуль помощников, просто для полноты (или потому, что у других это есть). ;)

Кроме этого, система шаблонов Django предназначена в основном для людей HTML, которые уже знают, как писать теги p, img и a и не нуждаются в помощниках для этого. С другой стороны, есть разработчики Python, которые пишут код и не заботятся о том, что переменная, которую они помещают в контекст, заключена в div или span (прекрасный пример парадигмы разделения интересов ). Если вам нужно объединить эти два мира, вы должны сделать это самостоятельно (или искать код другого).

0
ответ дан 29 November 2019 в 01:39
поделиться

Это не ответит непосредственно на вопрос, но почему не использование <a href="{% url mapper.views.foo %}">foo</a> в шаблоне тогда?

-1
ответ дан 29 November 2019 в 01:39
поделиться

Назначение помощников не в том, как подразумевают здесь другие, помочь разработчикам, которые не знают, как писать HTML. Цель состоит в том, чтобы инкапсулировать общие функции - чтобы вам не нужно было писать одно и то же тысячу раз - и предоставить единое место для редактирования общего HTML, используемого во всем вашем приложении.

По той же причине шаблоны и SSI полезны - не потому, что люди не умеют писать HTML в своих верхних и нижних колонтитулах, но иногда вы хотите написать его только один раз.

EG. Что произойдет, если / когда HTML 5 наконец реализован, и Django создание разметки HTML 4 или XHTML?

То же самое, что происходит, когда реализован HTML 5, и все ваши шаблоны написаны на повторяющемся HTML, только намного проще.

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

21
ответ дан 29 November 2019 в 01:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: