2012-03-15 136 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