Как передать параметр url в значение формы? - PullRequest
2 голосов
/ 22 января 2011

Форма имеет это скрытое поле

<input type="hidden" name="dir_type" value="tshirt">

Параметры URL:

/dir?type=tshirt
/dir?type=books
/dir?type=posters

и т. Д.

Теперь я жестко запрограммирован value="tshirts" но как мне получить параметр для соответствующей страницы?

Я нашел несколько страниц вроде этого , посвященных сходным темам, но я не понял, как это делается.

Спасибо за вашу помощь.

UPDATE

Ответ от systempuntoout работает отлично, но я решил решить проблему без использования шаблонов. И для любого, у кого есть подобный вопрос, передача параметра url в форму, как это хорошо работает:

<form name="submit_form" action="/directorysubmithandler" method="post" onSubmit="return validate_form()">
title: <input type="text" name="title" size=50><br />
url: <input type="text" name="url" size=50><br />
<input type="hidden" name="dir_type" value="%s")>
<input type="submit" value="submit">
</form>""" % self.request.get("type"))                      

1 Ответ

2 голосов
/ 22 января 2011

a. передать значение type в представление:

class Directory(webapp.RequestHandler):
    def get(self):
       ....
       merchandise_type = self.request.get("type", "")
       items = Item.all()
       items.filter("type =", merchandise_type)
       path = os.path.join(os.path.dirname(__file__), 'dir_details.html')
       self.response.out.write(template.render(path,{'type':merchandise_type}))

b. добавить значение type в скрытое поле:

<input type="hidden" name="dir_type" value="{{ type }}">

c. получите значение dir_type в вашем пост-обработчике:

class DirectorySubmitHandler(webapp.RequestHandler):
    def post(self):
        user = users.get_current_user()
        merchandise_type = self.request.get("dir_type", "")
        dir_type = merchandise_type
        if user:
            item = Item()
            item.title = self.request.get("title")
            item.url = self.request.get("url")
            item.type = self.request.get("dir_type")
            item.user_who_liked_this_item = user
            item.put()
            self.redirect("/dir?type=%s" %
self.request.get("dir_type"))
        else:
            self.redirect(users.create_login_url(self.request.uri)) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...