Skip to main content
 首页 » 编程设计

python之如何从模式中获取文本并插入电子邮件正文

2024年08月30日34yxwkf

这段代码除了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 = 'foo@bar.com' 
    message.subject = "Feedback from %s" % user 
    message.body = """ 
            Feedback: 
            %s 
            """ % comment 
    message.send() 
    self.redirect(self.request.headers['referer']) 

取决于 ENCTYPE="multipart/form-data" 或 %s 或什么?

请您参考如下方法:

表单方法是 POST,而您的 Handler 实现了 GET 方法。

编辑:

将 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)