回答

3

如果你在談論瀏覽器內部的js,不,django不能調用javascript函數。你的服務器上運行着django,並且js運行在用戶的瀏覽器中,兩者都不會混雜在一起。想象一下,如果有任何舊的django網站可以隨時進入你的瀏覽器並開始做你沒有要求的事情!

可以做的是在兩者之間建立某種通信,也就是AJAX。 javascript方面定期輪詢django服務器的信息,此時django可以告訴javascript該怎麼做(做這個函數,運行進程)。或者弄清楚如何做comet

OTOH,如果你在談論服務器端JS,當然,爲什麼不呢?它與調用perl函數或ruby函數(向解釋器提供正確的指令以導入/定義/調用該函數)相同。

2

的響應返回的東西瀏覽器調用 - 如果這些東西含有通常的方式的javascript然後是。只需使用腳本標記和通常的javascript返回一些HTML。

目前尚不清楚這就是你想要做雖然什麼......

1

除了JS的模板,您可以使用異步(AJAX)調用與服務器進行通信。這使您可以在視圖中調用Django funcs而不會有太多麻煩。

1

否。Django視圖由用戶對Url的請求調用。這可能是Javascript調用,但是不能從Django調用JavaScript,對不起。

0

您還可以使用Dajax,它的使用在Django的AJAX庫的簡單方法: Dajax

+2

參見[這個答案](http://stackoverflow.com/questions/26219391/dajax-not-working/ 29230482#29230482) – Trix 2015-04-10 13:25:15