Javascript,如何将Blockly生成的Python代码保存到.py文件?

标签 javascript python blockly

我有一台带有 Web 服务器的 Linux 机器,我使用 google BLockly 生成 python 代码。它正确生成它,我使用alert(code)来显示代码。如何将其保存到位于同一网络服务器的文件中?

function showCode() {
  // Generate Python code and display it.
  var code = Blockly.Python.workspaceToCode(workspace);
  alert(code);
}

最佳答案

我没有完全理解上下文, 我认为您正在客户端生成代码并且想要保存它。 如果您想将其保存在客户端(浏览器中的文件保存选项),请使用以下库

https://github.com/eligrey/FileSaver.js

如果您想将其保存在服务器端,请从 JavaScript 本身将数据发送到服务器,并将内容写入服务器中的文件中。

让我们使用jquery来发布数据。假设您的代码位于变量“code”中

    $.post("/savecode",
    {
      data: code
    },
    function(data,status){
        alert("Data: " + data + "\nStatus: " + status);
    });

这会将数据发布到 uri 'savecode'

我认为,您创建了一个静态 html 页面,其中包含一些 javascript,并从 apache 或 https 服务器的/var/ww/html/文件夹提供该页面。这是行不通的,您需要通过网络应用程序提供服务。我在这里选择Python Flask,这非常简单。

接收数据并存储在服务器中,假设您的静态页面是 home.html 并且位于 templates 文件夹中

from flask import Flask, render_template, request
from werkzeug import secure_filename
app = Flask(__name__)


# Sending the home page when browsing /home
@app.route('/home')
def home():
   return render_template('home.html')


# Saving the code posted by the javascript app
@app.route('/savecode', methods=['POST'])
def savecode():      
    f = request.files['file']
    f.save(secure_filename(f.filename))
    return 'file saved successfully'

if __name__ == '__main__':
   app.run()

有关更多信息,请查看 Flask 文档:http://flask.pocoo.org/

您可以使用您熟悉的任何语言/框架创建服务器程序。

关于Javascript,如何将Blockly生成的Python代码保存到.py文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45200030/

相关文章:

javascript - Blockly 中不寻常的 JavaScript for 循环与 xml

javascript - 使用按钮切换 2 个 DIVS(使用 Javascript、HTML 和 CSS)

javascript - 确保 jQuery 仅在所有 PHP 完全执行后才执行

javascript - 为什么这现在作为一个返回声明?

javascript - 如何在按下字符键时使字符出现在 div 中

javascript - 在 Blockly 上返回 block

python - 在 django 模板中使用变量

python - 从 C 调用 Python

python - 奇怪的语法错误,我不知道如何解决

blockly - blockly 中的自定义编程语言?