Step 9: List Form Pathway

There is a form in the template for creating lists. There is a method in the CreateList handler for handling HTTP POST, and creating a list.

Next I need to generate the List form, when the user clicks the "Create a List" link. Here's CreateList.get again, unchanged:

class CreateList(webapp.RequestHandler):

def get(self):

template_values = { 'list_form': 1 }

self.response.out.write(render(template_values))

... and the matching form inside the template, turned on by the list_form switch:

{% if list_form %} <form action="/create_list/" method="post"> <textarea style="background:#eeee00" name="name" rows=1 cols=33> </textarea><br> <span align="left"> <input type="Submit" name="button" value="Create list"> </span> <span style="padding-left:138px"> <a href="/">cancel</a></span> <br> </form> {% else %} <br> <a href="/list_form/">Create a List</a><br><br> {% endif %}

Then, I need CreateList.post to receive this POST, and create a list:

def post(self):

list = List()

list.name = self.request.get('name')

list.put()

self.redirect("/")