2017-08-02 16 views
0

へ:PythonのHTML書き込みフォームデータシンプルなアプリ書き込もうとしましたファイル

  1. は、入力データ(挨拶や名前)を取得するために取得するには、HTMLフォームを提示します。

  2. 表示するブラウザでのデータ、その後、(ここでは、私は理解できない部分がある)

  3. 、単純な.txtファイルへの入力フォームデータを保存します

ここにありますPythonコード:

:ここ

import web 

urls = (
    '/hello', 'Index' 
) 

app = web.application(urls, globals()) 

render = web.template.render('templates/', base='layout') 


class Index(object): 
    def GET(self): 
     return render.hello_form() # returns form to browser 

    def POST(self): # gets name and greeting data back 
     form = web.input(name="Nobody", greet="Hello") 
     greeting = "%s ... %s" % (form.greet, form.name) 
     return render.index(greeting = greeting) #displays index.html 
     with open ('projects/forms/ninja.txt)', 'w') as out_file: 
     out_file.write(form.getValue("greet")) 
     out_file.write(form.getValue("name")) 

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

はHMTL形式であります

私はこの1つを含む、他の回答、検索しました:

how to store html form data into file

をしかし、私はこの進行を取得するための情報を見つけることができないようです。

+1

return文の後には何もできません。 –

答えて

-1

この行で/helloにPOSTリクエストを実行しています。

<form action="/hello"> 

ただし、このルートのコントローラを定義していません。その結果、何も起こりません。

/IndexにPOSTを作るか、また/hello

のハンドラを作成してください、私は非常にこのためのフレームワークをお勧めします。 Flaskのような小さなもの。

+0

合意。いくつかのフレームワークは簡単なことをより難しくしますが、Flaskは本当に簡単に動作します。 –

+0

彼らはすでにフレームワーク、web.pyを使い、明らかに/ helloルートがIndexハンドラを指すように設定しています。 –

関連する問題