Можно ли вызвать функцию javascript из django HttpResponseredirect или какой-либо другой функции django
вызвать функцию javascript из django
Ответы (5)
Если вы говорите о js в браузере, нет, django не может вызывать функцию javascript. У вас есть django, работающий на вашем сервере, и js, работающий в браузере пользователя, и они никогда не должны смешиваться. Представьте, если бы любой старый сайт django мог получить доступ к вашему браузеру по своему желанию и начать делать то, о чем вы не просили!
Что вы можете сделать, так это настроить связь между ними, также известную как AJAX. Пусть сторона javascript периодически опрашивает сервер django для получения информации, после чего django может сообщить javascript, что делать (выполнить эту функцию, запустить этот процесс). Или выясните, как сделать comet.
OTOH, если вы говорите о js на стороне сервера, то почему бы и нет? Это было бы то же самое, что вызвать функцию perl или функцию ruby (передайте интерпретатору правильные инструкции для импорта/определения/вызова этой функции).
Нет. Представление Django вызывается запросом пользователя к URL-адресу. Возможно, это Javascript-вызов, но javascript нельзя вызвать из Django, извините.
Ответ возвращает материал в браузер - если этот материал содержит javascript обычным способом, тогда да. Просто верните немного HTML с тегом script и обычным javascript.
Хотя непонятно, что вы хотите сделать...
В дополнение к JS в шаблонах вы можете использовать асинхронные (AJAX) вызовы для связи с сервером. Это позволяет без особых хлопот вызывать функции Django в ваших представлениях.
Вы также можете использовать Dajax, это простой способ использовать библиотеки AJAX на django: Dajax