2011-04-25 24 views
4

私はCherryPyで小さなwebappを作成します。しかし、私は問題があります - 私は私のPOSTデータを取得することはできませんが、GETはOKです。ローカルホスト(Win 7)でホストされ、CherryPyビルトインサーバーを使用してOpera 10で表示されます。ここでCherrypy:POSTデータを取得できません

はいくつかのコードです:

class Expose: 
def __init__(self, fn): 
    self.fn = fn 

@cherrypy.expose() 
def index(self, login=None): 
    print 'LOGIN: ' + str(login) 
    return self.fn(login=login) 

import auth 
root.process_form = Expose(auth.process_form) 

これがされて私のURLスイッチです。 LOGINは、フォームがPOSTを使用し、GETに適切な値を使用する場合、なしを出力します。私のフォーム(テンプレート)は次のとおりです。

<!DOCTYPE html> 

<body> 
<p>Create new user</p> 

<form action="/process_form" method="post"> 
    <input type="text" name="login" value="login" /> 
    <input type="text" name="email" value="[email protected]" /> 
    <input type="text" name="password" value="123" /> 
    <input type="submit" /> 
</form> 

</body> 

私は何がうまくいかないのか推測できません。何を確認すればいいですか?

答えて

6

が欠落することができるかわからないがで試してみてください。

<!DOCTYPE html> 

<body> 
<p>Create new user</p> 

<form action="/process_form/" method="post"> 
    <input type="text" name="login" value="login" /> 
    <input type="text" name="email" value="[email protected]" /> 
    <input type="text" name="password" value="123" /> 
    <input type="submit" /> 
</form> 

</body> 

最後のスラッシュは「/ process_form/

+0

ありがとうございました!まあまあ!最後のスラッシュが省略され、POSTデータが失われた場合、サーバー設定のCherryPyがリダイレクトを生成しました。私はサーバーの設定を調整しましたが、私は思うようにURLを終えるのは良い方法です。 – demi

-1

私はroot.processformはCherryPyにで特別な何かであるならば、あなたはprocess_formページ

@cherrypy.expose() 
def process_form(self, email, login,password): 
    ...stuff... 

を公開する必要はない場合、私は何か

+0

です。これは役に立ちません... – demi

+0

-1、質問やコードを一切読んでいない – tobyodavies

関連する問題