如何将URL参数传递给表单值?
这个表单里有一个隐藏字段
<input type="hidden" name="dir_type" value="tshirt">
网址参数是
/dir?type=tshirt
/dir?type=books
/dir?type=posters
等等。
现在我把 value="tshirts"
写死了,但我该怎么获取相关页面的参数呢?
我找到了一些页面,像这样的,讨论了类似的话题,但我不太明白是怎么做到的。
谢谢你的帮助。
更新
系统puntoout的回答效果很好,但我决定不使用模板来解决这个问题。对于有类似问题的人来说,像这样将网址参数传递给表单是可行的:
<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
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))