2012-05-01 14 views
2

このコードは、comment以外は正常に動作します。メッセージ本文には挿入されません。電子メール本文にモーダルとテキストを挿入するには?

<div class="modal" id="feedback"> 
    <form action="/feedback" method="POST"> 
     <div class="modal-body"> 
      <textarea class="input-xxlarge" name="comment" rows="3"></textarea> 
     </div> 
     <div class="modal-footer"> 
      <a class="btn" type="submit" href="/feedback">Send</a> 
     </div> 
    </form> 
</div> 
class SendFeedback(webapp2.RequestHandler): 
def get(self): 
    user = users.get_current_user() 
    comment = self.request.get('comment') 
    message = mail.EmailMessage() 
    message.sender = user 
    message.to = '[email protected]' 
    message.subject = "Feedback from %s" % user 
    message.body = """ 
      Feedback: 
      %s 
      """ % comment 
    message.send() 
    self.redirect(self.request.headers['referer']) 

ENCTYPE="multipart/form-data"または%sやかに依存?

答えて

3

HandlerがGETメソッドを実装している間、フォームメソッドはPOSTです。

編集

変更def get(self)

def post(self)から
class SendFeedback(webapp2.RequestHandler): 
    def post(self): 
     ... 

とポストデータは次のとおりです。

data = self.request.POST 
comment = data.get('comment') 

EDIT2

このコードは動作します:

form = """ 
<div class="modal fade" id="feedback"> 
    <form action="/feedback" method="POST"> 
     <div class="modal-header"><h3>Aiutaci a migliorare</h3></div> 
     <div class="modal-body"> 
      <p>un piacere sapere cosa cambiereste di Metrico</p> 
       <textarea class="input-xxlarge" name="comment" rows="3"></textarea> 
     </div> 
     <div class="modal-footer"><input class="btn btn-inverse" type="submit"/></div> 
    </form> 
</div> 
""" 

class FormTest(webapp2.RequestHandler): 

    def get(self): 
     self.response.out.write(form) 

    def post(self): 
     data = self.request.POST 
     comment = data.get('comment') 
     body = """ 
Feedback: 
%s 
""" % comment 
     self.response.out.write(body) 
+0

ハンドラーで 'post'と私は405メソッドがありません。ボディ内のコメントを除いて 'get'が動作します。 –

+0

あなたはgetメソッドを実装して投稿をしていないため、メソッドが許可されていません。私の編集を確認してください – aschmid00

+0

ありがとうございますが、あなたの修正でまだ405を取得します。 と 'def get(self)'は代わりに本文に 'None'というメールを受け取ります。進歩、 'self.request.POST'のおかげで –

関連する問題