私はPythonとプログラミング全般に不慣れなので、説明するものはすべて素人の用語である必要があります。
CSV ファイルを読み取り、結果を出力する簡単なスクリプトを作成しました。そのスクリプトをアップロードして、単純な Web インターフェイスまたは Web アプリとしてオンラインで実行したいと考えています。
Django フレームワークを使用して pythonanywhere.com にサインアップしました。私はここで正しい軌道に乗っていますか?
ありがとう。
私はPythonとプログラミング全般に不慣れなので、説明するものはすべて素人の用語である必要があります。
CSV ファイルを読み取り、結果を出力する簡単なスクリプトを作成しました。そのスクリプトをアップロードして、単純な Web インターフェイスまたは Web アプリとしてオンラインで実行したいと考えています。
Django フレームワークを使用して pythonanywhere.com にサインアップしました。私はここで正しい軌道に乗っていますか?
ありがとう。
私は偏見を持っているかもしれませんが、あなたは正しい道を進んでいると確信しています!
人々が csv をアップロードできるようにしたいのですが、Web アプリはそれを処理して結果を出力しますか? もしそうなら、Django のドキュメントをチェックしてください:
https://docs.djangoproject.com/en/1.3/topics/http/file-uploads/
例のように を使用して Django Form オブジェクトを作成すれば、それほど複雑なことはありませんFileField
。
from django import forms
class UploadFileForm(forms.Form):
file = forms.FileField()
次に、正しい を含めて、それを Web ページまたはテンプレートに配置しますenctype
。
<form enctype="multipart/form-data" method="post" action="/foo/">
{{form.as_p}}
</form>
最後に、投稿を処理するビューでそれを処理します (フォーム アクションからの URL を使用)。
def handle_csv_upload(request):
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
results = do_my_csv_magic(request.FILES['file'])
# now eg save the results to the database, and show them to the user
db_entry = MyCSVResults(results=results)
db_entry.save()
# it's good practice to use a redirect after any POST request:
return HttpResponseRedirect('/show_results/%d/' % db_entry.id)
それを除けば、PythonAnywhere では特別な設定は必要ありません。ファイルは (一時的に) /tmp に保存され、正常に動作します。後でファイルを保存する場合は、そのためのコードを追加する必要があります。
それが役立つことを願っています。ご不明な点がございましたら、お気軽にお問い合わせください。
PythonAnywhereの開発者として、あなたは適切な場所から始めたと言えます。私たちは物事をできるだけシンプルにするようにしています。
フラスコ Web フレームワークを使用して、より単純なアプリケーションから始めることができます。そのためのクイックスタートもあります。以下は、アクセスしたときに何らかの出力を返す非常に単純なフラスコ アプリです。このコードは\var\www\your_username_pythonanywhere_com_wsgi.py
ファイルに入ります。
import os
import sys
from flask import Flask
app = Flask(__name__)
app.debug = True
path = '/home/your_username/'
if path not in sys.path:
sys.path.append(path)
from my_script import function_that_parses_csv
@app.route('/')
def root():
return function_that_parses_csv()
これは、少しのデータを Web サービスとして提供する最も単純な単一ファイルの方法です。それを機能させることから始めて、知識を広げて機能を追加することができます。