2017-07-19 4 views
1

私はWebサーバーを持つLinuxマシンを持っています。私はPythonコードを生成するためにGoogle BLocklyを使用しています。それは正しく生成され、私は警告(コード)を使用してコードを表示します。同じWebサーバーにあるファイルに保存するにはどうすればよいですか?Javascript、どうやってブロック化されたPythonコードを.pyファイルに保存しますか?

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

答えて

0

私は私はあなたがクライアント側のコードを生成していて、それを保存したいと思いますが、完全に をコンテキストを理解していませんでした。 あなたは、クライアント側に保存(ファイルはブラウザからオプションを保存)、サーバー側でそれを保存したい場合は、以下のライブラリ

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

を使用し、あなたのJavaScriptからサーバーにデータを投稿したい場合その内容をサーバー内のファイルに書き込むことができます。

jqueryを使用してデータを送信できます。私は、あなたが内部の一部JavaScriptを使用して、静的なHTMLページを作成してから、それを提供すると思います。これは、URI「savecode」に

データを掲載します

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

あなたのコードは変数「コード」内にあると仮定し/ var/ww/html/apacheまたはhttpsサーバのフォルダ。これは動作しません、あなたはWebアプリケーションからそれを提供する必要があります。私はここでかなりシンプルなpythonフラスコを選んでいます。 http://flask.pocoo.org/

あなたを:、サーバ内のデータと店舗を受け取るあなたの静的なページがhome.htmlで、テンプレートフォルダの詳細は

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() 

であることを仮定し、フラスコのドキュメントを見て

あなたが快適な言語/フレームワークでサーバープログラムを作成することができます。

+0

私はそれをサーバー側で保存したいが、私はJavascriptだけを学習しているので、ファイルを書き込めない。 –

+0

ファイルを書くロジックはサーバー側にあり、使用しているフレームワーククライアント側でデータを送信するロジックは、単純なjavascriptまたはjqueryを使用して行うことができます。 – Jomin

関連する問題