python – 使用GET参数的GAE ValueError

我正在尝试创建一个简单的应用程序来返回GET参数给出两个输入的余数.这些输入将从url查询中获取.

例如http://thisisanexample.appspot.com/?a=1&b=2
这应该得到答案1,因为2/1的余数= 1.

    a = self.request.get('a')
    b = self.request.get('b')
    c = 0
    if (int(a)>int(b)):
        c=int(a)%int(b)
    else:
        c=int(b)%int(a)
    self.response.out.write(type(a))

但是,我遇到了以下ValueError问题:ValueError:int()的基数为10的无效文字:”

我假设问题在于变量以前是未知的并且可能以或如果未指定的话开始,保持为”因此,创建错误.任何帮助将非常感激!

最佳答案 GET参数存储在request.GET中,而不是存储在请求本身中,因此您希望将代码更改为

a = request.GET.get('a')
b = request.GET.get('b')

顺便说一下,你在哪里编写代码?什么是self.request?如果您正在撰写视图,那么它应该只是:

def my_view(request, *args, **kwargs ):
    # access request here

request.get没有在Django HttpRequest对象上定义…

:编辑:

GAE并不完全是Django.引用GAE’s documentation

By default, get() returns the empty string (”)

所以你的代码是正确的,但是你应该检查空字符串,而不是检查a或b是否为None.

点赞