Javascript可以调用Django方法/函数吗?
想象一下,一个简单的页面有一个计数器和两个按钮。计数器显示的值是读取/存储在模型字段中的值。我希望当我按下“绿色”按钮时,计数器增加1,当我按下“红色”按钮时,计数器减少1。实施此类行为的最佳方式是什么:Javascript可以调用Django方法/函数吗?,javascript,python,django,model-view-controller,jquery,Javascript,Python,Django,Model View Controller,Jquery,想象一下,一个简单的页面有一个计数器和两个按钮。计数器显示的值是读取/存储在模型字段中的值。我希望当我按下“绿色”按钮时,计数器增加1,当我按下“红色”按钮时,计数器减少1。实施此类行为的最佳方式是什么: 按钮调用模型的方法(Django方法),该方法更新模型的字段(DB write);刷新整个页面,并更新计数器显示(DB read) 按钮调用javascript函数,更新计数器显示(JS/HTML);在后台,调用模型的方法(Django方法)来更新模型的字段(DB write) 还有别的办法吗
javascript代码可以调用Django函数吗?我是Django的新手(我按照教程一直到第4部分)。我已经理解了MVC/MTV的概念和数据读/写/显示,但现在困扰我的是在我的页面上引入行为/交互性。浏览器端的JavaScript位于前端,而Django位于后端(服务器端)。前者既不能也不需要直接调用后者的函数。它们之间的接口通常是web服务API,即使用Django支持的web服务中定义的URL进行AJAX调用的浏览器 更具体地说,JavaScript向web服务器发送HTTP请求,而Django的URL调度程序则将请求URL映射到相应的Django视图(基于函数或基于类)。简言之,典型路线可简化为: JavaScript->HTTP请求->Django URL dispacher(映射规则在URL.py或URL/XXX.py中)->Django视图函数(views.py或views/XXX.py)->Django表单(可选)->Django模型(可选) 有关Django的更多技术详细信息,请参阅或
最后一句话:即使JavaScript可以调用Django函数方法/函数,也应该避免。从web服务的角度来看,Django方法/函数只是实现细节,更容易更改(与web服务API相比)。后端开发人员可能会更改函数名,切换到Django以外的框架,甚至出于任何原因更改Java、Ruby或PHP等编程语言。使用AJAX,或者使其变得简单易懂。JavaScript在浏览器中运行,而Django在服务器上运行。浏览器使用HTTP与服务器通信 您可以使用API从JavaScript进行HTTP调用。(这通常被称为AJAX。)您可以向服务器上的URL发送HTTP GET请求(与单击链接时浏览器发送的请求相同)或HTTP POST请求(与提交某些表单时浏览器发送的请求相同)
您设置Django通过URL.py处理此URL,我相信您从教程中了解到这一点。对于此行为,您需要调用Django视图的JavaScript,而Django视图又调用djangomodels方法。您应该将该注释作为答案发布,以便我对其进行投票。我想你是对的;)看看这个很好的例子,我需要相同的功能。你是如何做到的?@user2760685我无法回答你的问题,因为过了一段时间,我放弃了Django,转而使用Play Framework(www.playframework.com/),在这种情况下,我如何引入行为?通过调用Django方法的特定私有URL?