2012-03-15 191 views
0

我正在使用Django模板系統。我想要的是,當我提交表單或單擊URL鏈接時,頁面不會刷新,而是加載從服務器返回的數據。可能嗎?如何防止提交後Django頁面刷新?

+2

是的,這是可能的。 – 2012-03-15 15:48:01

+0

任何工具?還是騙術? – Burak 2012-03-15 15:48:34

+1

AJAX。做一些研究,如果你有一個具體的問題就回來。 – 2012-03-15 15:49:45

回答

2

我推薦jQuery(簡單,功能強大,流行的JavaScript庫)和dajax/dajaxice(http://www.dajaxproject.com/)的組合。 Dajax非常容易設置和使用,並且jQuery也易於設置和使用。 Dajax嚴格通過Django進行AJAX通信。 jQuery非常適合採用簡單的網站,並使其更加流暢,直觀和用戶友好。

2

你需要JavaScript來做到這一點。你正在尋找的是所謂的AJAX(異步JavaScript和XML)。實質上,這意味着只要點擊鏈接/按鈕,您就可以使用JavaScript向服務器發送請求。服務器將一些數據返回到您的腳本,然後可以用它來操縱HTML頁面,例如通過將響應的數據插入到DOM中。由於您使用JavaScript完成所有工作,因此不需要重新加載整個頁面。

要開始,請閱讀AJAX tutorial。有一些JavaScript庫可以讓你更簡單(例如jQuery),但是你應該首先理解這些東西是如何工作的,否則你可能會在試圖調試的時候進入垃圾桶。

+0

感謝您的建議,但我瞭解AJAX技術。只有我想知道的是,如果有一個有用的工具(如dajaxproject),我可以使用Django。 – Burak 2012-03-15 15:54:06

+1

Django沒有像Rails一樣的內置AJAX支持,所以每個第三方工具都應該與Django一起工作。如果您使用的是任何JavaScript庫,請首先在那裏檢查AJAX支持,因爲使用不同的庫可能會導致compability問題。另外請務必閱讀Django文檔在此主題上的說明:https://code.djangoproject.com/wiki/AJAX – j0ker 2012-03-15 15:59:31