2

我以前在 python 上编程。我几个月前就开始了,所以我不是“大师”类型的开发人员。我也知道 HTML 和 CSS 的基础知识。

我看到一些关于 node.js 的教程,我真的很喜欢它。我无法用我从 html 和 css 中获得的知识来创建这些表单、条形图、按钮等。

我可以使用 node.js 创建用户在浏览器上看到的内容并使用 python 编写如果有人按下“提交”按钮会发生什么?例如重定向、sql 读写等。

谢谢

4

3 回答 3

4

您可以在节点服务器的后端调用 python 脚本,以响应用户单击按钮。为此,您可以使用child_process包。它允许您调用安装在您机器上的程序。

例如,当用户在 /reg 页面上发布某些内容时,如何运行脚本:

app.post('/reg', function(request, response){
      spawn = require('child_process').spawn;
      path = "location of your script";
      // create child process of your script and pass two arguments from the request
      backend = spawn('python',[path, request.body.name, request.body.email]);
      backend.on('exit', function(code) {
           console.log(path + ' exited with code ' + code);
           if(code==0)
           response.render('success'); //show success page if script runs successfully
           else
           response.redirect('bad');
      });    
});

必须在您的系统中安装 Python 以及您需要的其他 Python 库。它无法响应/重定向到节点的请求,否则你为什么要使用节点。在罗马做到入乡随俗。在 node 中使用 JavaScript,调用外部程序没有使用 JS 库那么快。

于 2013-03-10T05:19:38.233 回答
3

Node.js 是一个服务器端JavaScript 环境(如 Python)。它在服务器上运行并与数据库交互,生成客户端看到的 HTML,但实际上浏览器并不直接访问。

另一方面,浏览器直接运行客户端JavaScript。

如果你想在服务器上使用 Python,你可以使用一堆框架:

于 2013-03-09T21:22:55.573 回答
0

我认为您正在倒退考虑这个问题。Node.js 允许您在没有浏览器的情况下运行浏览器 Javascript。你不会发现它在你的 Python 编程中很有用。如果您想坚持使用 Python,最好使用诸如 Pajamas 之类的框架来使用 Python 编写 Javascript,或者使用其他框架(例如 Flask 或 Twisted)将 Javascript 与 Python 集成。

于 2013-03-09T21:14:42.617 回答