Реверс Django () для JavaScript

Я не знаю ни о каких зарегистрированных "шаблонах" для обработки.

я полагаю, что одна из старейших библиотек/API для обработки аргументов является getopt. Гугление "getopt" показывает много страниц справочника и ссылок на реализации.

Обычно у меня есть предпочтения или сервис настроек в моем приложении, которое знает процессор аргумента, как связаться с. Аргументы тогда переводятся во что-то в этом сервисе, который тогда запрашивает приложение, чем. Это могло быть столь же просто как словарь настроек (как строка, устанавливающая названный "именем файла").

23
задан Peter Mortensen 12 January 2010 в 20:07
поделиться

2 ответа

Что не так с помещением JavaScript в ваши шаблоны?

Вы все равно часто хотите вызвать функцию инициализации в своем шаблоне HTML, так почему бы не передать ей объект, содержащий URL-адреса, которые вы будете использовать ?

<script>
MYGLOBAL.mymodule.init({
    fancy_ajax_url: '{% url fancy %}',
    fancier_ajax_url: '{% url fancier %}'
});
</script>

Если вы обнаружите, что таким образом передаете много переменных или хотите использовать логику в вашем JavaScript, которую вы используете в своих HTML-шаблонах, то почему бы не отрендерить ваш скрипт с помощью механизма шаблонов Django? Помните, что шаблоны Django предназначены не только для HTML-документов - часто помогает использовать шаблоны для простого текста, XML, JSON и даже JavaScript. Беспокоитесь о производительности? Затем кешируйте результат.

13
ответ дан 29 November 2019 в 00:57
поделиться

Обычно я помещаю URL-адрес либо в элемент , либо в rel = "" .

Затем, при написании JS (с использованием jQuery ниже) я делаю:

$('div#show_more').click(function () {
    var url = $(this).attr('rel');
    // or
    var url = $('#more_url').val();

    $.get(url, function () { /* ... */ });
});

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

4
ответ дан 29 November 2019 в 00:57
поделиться
Другие вопросы по тегам:

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