I am creating a a web application with Tornado; however, I would also like 
to implement the form capabilities of the pylons package Deform. I have set 
up my small Tornado framework with the code below:

      
    import tornado.ioloop 
    import tornado.web 
    import os 
 


    class MainHandler(tornado.web.RequestHandler): 
            def get(self): 

                 self.render('/Users/jamespetullo/Downloads/home.html') 

      class StudentRegster(tornado.web.RequestHandler): 
           def get(self): 
                self.render("
/Users/jamespetullo/Downloads/student_register.html") 

         def post(self): 
              first_name = self.get_argument("first_name") 
              last_name = self.get_argument("last_name") 
              email = self.get_argument("email")

This is a very simple registration form; however, I would like to implement 
the deform AJAX registration form as found here:
http://deformdemo.repoze.org/ajaxform_redirect/

My question is, how do I implement the code for the Deform login page with 
my tornado "get" and "post" methods?  Currently, those methods in the code 
above are merely serving html files. How do I successfully include the 
deform ajax form code? Is this even possible? If it is possible, what is 
the best way to go about implementing the deform code? 

Here is the Deform AJAX Redirect Form code:

       

    @view_config(renderer='templates/form.pt', name='ajaxform_redirect')
    @demonstrate('AJAX form submission (redirect on success)')
    def ajaxform_redirect(self):

        class Mapping(colander.Schema):
            name = colander.SchemaNode(
                colander.String(),
                description='Content name')
            date = colander.SchemaNode(
                colander.Date(),
                widget=deform.widget.DatePartsWidget(),
                description='Content date')

        class Schema(colander.Schema):
            number = colander.SchemaNode(
                colander.Integer())
            mapping = Mapping()

        schema = Schema()
        options = """        {success:          function (rText, sText, xhr, 
form) {            var loc = xhr.getResponseHeader('X-Relocate');            if 
(loc) {              document.location = loc;            };           }        
}        """

        def succeed():
            location = self.request.resource_url(
                self.request.root,
                'thanks.html',
                route_name='deformdemo',
                )
            # To appease jquery 1.6+, we need to return something that smells
            # like HTML, or we get a "Node cannot be inserted at the
            # specified point in the hierarchy" Javascript error.  This didn't
            # used to be required under JQuery 1.4.
            return Response(
                '<div>hurr</div>',
                headers=[('X-Relocate', location),
                         ('Content-Type', 'text/html')]
                )

        form = deform.Form(schema, buttons=('submit',), use_ajax=True,
                           ajax_options=options)

        return self.render_form(form, success=succeed)



Any help is appreciated. Thank you!

-- 
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/pylons-discuss/899791d2-04ed-448a-bd94-7483d9d8a9af%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to