вызвать функцию javascript из django

Можно ли вызвать функцию javascript из django HttpResponseredirect или какой-либо другой функции django


person Rajeev    schedule 25.01.2011    source источник


Ответы (5)


Если вы говорите о js в браузере, нет, django не может вызывать функцию javascript. У вас есть django, работающий на вашем сервере, и js, работающий в браузере пользователя, и они никогда не должны смешиваться. Представьте, если бы любой старый сайт django мог получить доступ к вашему браузеру по своему желанию и начать делать то, о чем вы не просили!

Что вы можете сделать, так это настроить связь между ними, также известную как AJAX. Пусть сторона javascript периодически опрашивает сервер django для получения информации, после чего django может сообщить javascript, что делать (выполнить эту функцию, запустить этот процесс). Или выясните, как сделать comet.

OTOH, если вы говорите о js на стороне сервера, то почему бы и нет? Это было бы то же самое, что вызвать функцию perl или функцию ruby ​​(передайте интерпретатору правильные инструкции для импорта/определения/вызова этой функции).

person eternicode    schedule 28.01.2011

Нет. Представление Django вызывается запросом пользователя к URL-адресу. Возможно, это Javascript-вызов, но javascript нельзя вызвать из Django, извините.

person Daniel    schedule 31.01.2011

Ответ возвращает материал в браузер - если этот материал содержит javascript обычным способом, тогда да. Просто верните немного HTML с тегом script и обычным javascript.

Хотя непонятно, что вы хотите сделать...

person Spacedman    schedule 25.01.2011

В дополнение к JS в шаблонах вы можете использовать асинхронные (AJAX) вызовы для связи с сервером. Это позволяет без особых хлопот вызывать функции Django в ваших представлениях.

person Juho Vepsäläinen    schedule 25.01.2011

Вы также можете использовать Dajax, это простой способ использовать библиотеки AJAX на django: Dajax

person Roberto Assunção Filho    schedule 26.12.2014
comment
См. ЭТОТ ОТВЕТ - person Trix; 10.04.2015