1

Underscore + Backbone を使用して Web サイトを構築しています。基本的に、お問い合わせフォームからメールを送信できるか知りたいです。

これは私のバックボーン モデルです:

class ContactModel extends Backbone.Model

    defaults :
        message : 'Default message'

    validate : ( attrs_ ) ->

        # Validation Logique

    sync : (method, model) ->

        xhr = $.ajax
                dataType: "json"
                type: "POST"
                url: # HERE I WANT TO SEND DATA TO GOOGLE APPENGINE
                data: model.toJSON() 

                success : ( jqXHR, textStatus ) =>

                    console.log 'Success', 'jqXHR_ :', jqXHR, 'textStatus_ :', textStatus

                error : ( jqXHR_, textStatus_, errorThrown_ ) ->

                    console.log 'Success', 'jqXHR_ :', jqXHR_, 'textStatus_ :', textStatus_, 'errorThrown_ :', errorThrown_

私の質問は: Python を使用してモデルのメッセージ属性を私のメール アドレスに送信するために、私のアプリ エンジンでモデルから送信された JSON を取得することは可能ですか?

4

2 に答える 2

2

はい。POST ハンドラーを作成し、request.body を取得し、json を使用して Python で使用できるものに変換し、メールを送信します。

フォームを使い始める

class Guestbook(webapp.RequestHandler):
def post(self):
    data = self.response.body
    jdata = json.loads(data)
    #send email with data in jdata
于 2012-12-24T22:13:53.520 に答える
0

最後に、次のコードでこの状況を整理します。

import os
import webapp2
import logging
import json
from google.appengine.api import mail

class MainPage(webapp2.RequestHandler):

    def get(self):

        #If request comes from the App

        if self.request.referer == 'Your request.referer' :

            message = self.request.get('message')

            #If there is no message or message is empty

            if not message and len(message) == 0:

                self.response.headers.add_header('content-type', 'text/plain', charset='utf-8')

                self.response.out.write('An empty message cannot be submitted')

                return

            #Print message

            logging.info('Message : ' + message)

            #Set email properties

            user_address = 'user_address'
            sender_address = 'sender_address'
            subject = 'Subject'
            body = message

            #Send Email

            mail.send_mail(sender_address, user_address, subject, body)


        #If request comes from unknow sources

        else :

            self.response.headers.add_header('content-type', 'text/plain', charset='utf-8')

            self.response.out.write('This operation is not allowed')

            return

app = webapp2.WSGIApplication([('/', MainPage)])
于 2012-12-25T03:41:22.743 に答える