2011-02-06 11 views
6

私は数日前に友人に近づきました。プログラミング経験はほとんどなく、彼は助けを求めているプロジェクトを持っています。Pythonを使用したファイルのアップロードと処理

は、基本的には - これは、彼が達成しようとしているものです。

1.) Create a website that can accept text files as input. 
2.) Read said file and pass the parameters contained in the 
    file to a python script. 
3.) Output these results of the script on the same webpage upon completion. 

彼は(処理スクリプトを記述するのに十分な)Pythonの少量のを知っているが、彼はここから行くことは考えていません。彼はファイルを読み込んだASPページを使って簡単な例を作り、パラメータをスクリプトファイルに渡して結果を出力するためにIronPythonを使用しました。これは期待通りでした。

しかし - 彼のために私はこれを実行するためにはるかに簡単なアプリケーションを開発し、いくつかの提案を見つけるか、別のアプローチについていくつかの考えを聞くことを期待していたの右方向に彼を導くために期待していました。私は彼の経験の欠如のために、よりシンプルで、より良いと思う。

ありがとうございます。

+0

これは正しい軌道に乗るのに役立ちます:http://docs.djangoproject.com/en/dev/topics/http/file-uploads/?from=olddocs –

+0

さまざまなフレームワークで同じWebアプリケーション: appengine、フラスコ、web.py、ジュノ、ボトル、itty、django、... https://github.com/agiliq/so-starving – jfs

答えて

6

Flaskはシンプルで非常に強力で直感的です。私はDjangoがの方法(あまりにも多くのフォルダを紹介している)を使用しているので、小さなプロジェクトのためにDjangoよりも好きです。ここで私は単純で直感的な意味を持っています。私は本当に言葉でそれを説明することはできませんので、ここでスクリプトの例です:

ファイル:script.py

app = Flask(__name__) 
app.config.from_object(__name__) 

@app.route('/') 
def index(): 
    return render_template('index.html', message = 'Hello') 

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

ファイル:index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
    <head> 
    <title>Test</title> 
    </head> 

    <body> 
    {% if message != 'nope' %} 
    {{ message }} 
    {% endif %} 
    </body> 
</html> 

ちょうど私の考え、とても良いです運。

+0

おかげさまでBlender - これは私たちが探していたものでした! :) –

+0

問題ありません。オンラインドキュメントは、Flaskについて何かを見つける唯一の場所ですが、おそらくあなたが必要とする唯一のものです:http://flask.pocoo.org/docs/ – Blender

+0

Heh、私はサンプルコードを書いていましたが、私はこのファイルを保存して私の500ラインライブラリアプリケーション全体を偶然上書きしました。いいことは、あらかじめソースのTarballを削除したことです! – Blender

2

多分彼はフラスコに会いますか? http://flask.pocoo.org/ Pythonの非常にシンプルなWebフレームワークで、小さなWebサイトを素早く作成できます。

+0

ありがとうgimimon :) –

0

あなたの友人は非常に迅速かつ簡単に、一緒に何かを取得したいと多くのプログラミングの経験を持っていない場合、私は彼の最善の策はweb2pyになると思います。インストールや設定は不要で、依存関係はなく、Webサーバー、リレーショナルデータベース、Webベースの統合開発環境と管理インターフェイス(demo)が含まれています。

very easy to learnであり、ease of use and developer productivityに設計されています。含まれている足場のアプリケーションと多くの賢明なデフォルトの動作のおかげで、非常に少ないコードで多くの作業を行うことができます。アプリケーションがより複雑になると、web2pyは、データベース抽象化レイヤー、フォームの処理と検証、アクセスコントロール、Webサービス、および簡単な機能を含む、多くの組み込み機能を備えた完全に統合されたフルスタックフレームワークなので、 Ajaxの統合彼が始める助けを必要とする、またはご質問がある場合は

、彼はとてもフレンドリーでmailing list応答からの助けの多くを得るでしょう。

ここではBlenderのフラスコアプリ@の完全な作業web2pyの同等(このバージョンは、「こんにちは」というメッセージを翻訳するために素敵なメニューとデフォルトのレイアウトだけでなく、国際化のサポートが追加されていますが)です:

ファイル:default.py

def index(): 
    return dict(message=T('Hello')) 

ファイル:index.html

{{extend 'layout.html' # optional}} 
{{if message != 'nope':}} 
{{=message}} 
{{pass}} 
関連する問題