【问题标题】:Python Javascript framework to use with cherrypy and Mako [closed]与cherrypy和Mako一起使用的Python Javascript框架[关闭]
【发布时间】:2012-07-16 19:26:20
【问题描述】:

我只是在学习 python 和 python web 应用程序,所以请原谅我缺乏知识。

我正在使用cherrypy + mako (+ html) 在python 中编写一个网络应用程序,现在我正在深入研究它的javascript 部分。 老实说,剩下的已经足够学习了…… 所以我想知道使用 python 框架从我那里抽象出 javascript 语法。 (我主要是一个 c* 开发人员,python 已经足够让我忙碌了)

我(还)不需要任何花哨的 javascript,虽然我已经开始使用 jquery 和 jquery-ui,但我对语法的理解不够好,而且做任何事情都需要很长时间...... (例如,我还没有找到如何让 javascript 和 mako 以客户端服务器的方式相互交互。)

我已经了解了睡衣和其他类似的框架。你会推荐什么?

【问题讨论】:

  • 来自 C 语言,我认为你学习 js 比学习 python 更容易;只需远离在其中进行过多的函数式编程(您可以)并假装它是程序性的,直到您感到舒服为止。使用睡衣会有很多开销,我认为你真的不需要(考虑到 js 与 c* lang 的句法相似性)
  • 好吧,如果是这样的话,我将继续手动操作,在 2012 年必须 这样做似乎有点复杂,但我仍然可以编写漂亮的代码对于非网络应用程序来说,几乎所有事情都是手动工作的,所以我猜没有理由期待任何不同的事情。谢谢!
  • 如果你了解java,如果你真的不想写js,你可能想看看GWT。但是使用 jQuery(或像 zepto 这样的轻量级库),您不必编写太多样板文件
  • 更多的是学习语法而不是其他任何东西,但如果这是一个好方法,我会相信你的话并继续手动进行。谢谢。
  • 你是对的,一旦我知道要寻找什么,它是公平的(肯定还有很大的增长空间,但至少它已经有效......),谢谢!

标签: javascript jquery python mako


【解决方案1】:

这完全取决于您需要服务器和客户端进行通信的内容。如果您给我们一个具体的问题,我们可以给出更具体的答案。

这是一个 javascript ajax 调用。它是直接的 javascript(无框架)和你所说的“不花哨”。

function AddToCart_Clicked(SKU, Quantity)
{
    // code for IE7+, Firefox, Chrome, Opera, Safari
    if(window.XMLHttpRequest)
        xmlhttp=new XMLHttpRequest();
    else// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById('HeaderShoppingCartlink').innerHTML = 'Shopping Cart (' + xmlhttp.responseText + ')';
        }
    }

    xmlhttp.open("GET","/ProductNavigation/AddToCartJS?SKU=" + SKU + "&Quantity=" + Quantity, true);
    xmlhttp.send();
    }

此函数将商品添加到用户的购物车。该函数使用变量 SKU 和 Quantity 向 ProductNavigation 类中的 Cherrypy 函数 AddToCartJS 发送 GET 请求。 CherryPy 函数如下所示。

@cherrypy.expose
def AddToCartJS(self, SKU, Quantity):
    CurrentShoppingCart = ShoppingCart()
    CartID = CurrentShoppingCart.AddToCart(SKU, Quantity)
    return CurrentShoppingCart.GetCartCount()

希望这会有所帮助。

安德鲁

【讨论】:

  • 现在我想得到一些超级简单的东西:用户将在 jquery-ui 自动完成文本框中键入一些路径的开头,然后我希望 python 给出可能的本地路径匹配它。即,如果用户键入“/ho”,我想将“/home”作为建议发回。我已经有了 js 自动完成表单,并编写了 python 函数,我只是缺少了两者之间的粘合剂。谢谢!
  • 你明白了。如果您需要更多帮助,请告诉我。如果它正确回答了您的问题,请接受我的回答。
  • 多看一下你的代码(我实际上会在回家后尝试一下......)我不确定你如何使用 AddToCartJS 中的值。我看到了 JS 如何调用它,但没有看到如何接收返回值。会不会只是“var return = xmlhttp.send();” ?编辑:哦,我想我明白了:“.responseText”我猜 send() 会阻塞。
  • 一切顺利,非常感谢!
猜你喜欢
  • 1970-01-01
  • 2010-09-09
  • 2013-10-07
  • 2012-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-22
  • 2020-11-11
相关资源
最近更新 更多