GAE Python request.get参数

时间:2014-03-30 08:09:50

标签: python google-app-engine

我需要能够检查链接是否有任何参数被发布。

示例:

www.hello.com/task www.hello.com/task?link=thislinke

我应该如何检查是否存在“链接”的参数?

我尝试了这个但是没有用:

if len(self.request.get_all()) > 0:

这是我在有链接参数时所做的事情

link = (self.request.GET['link']).encode('ascii','ignore')

谢谢!

2 个答案:

答案 0 :(得分:2)

http://webapp2.readthedocs.io/en/latest/guide/request.html

request = Request.blank('/test?check=a&check=b&name=Bob')

# The whole MultiDict:
# GET([('check', 'a'), ('check', 'b'), ('name', 'Bob')])
get_values = request.GET

# The last value for a key: 'b'
check_value = request.GET['check']

# All values for a key: ['a', 'b']
check_values = request.GET.getall('check')

# An iterable with alll items in the MultiDict:
# [('check', 'a'), ('check', 'b'), ('name', 'Bob')]
request.GET.items()

答案 1 :(得分:1)

方法self.request.get为缺少的参数返回一个空字符串,所以只需检查其结果是否为空。

link = self.request.get('link')
if link:
    # do some work with link
else:
    # there is no 'link' argument