最近我开始研究一个项目。我使用<a>
标签从html页面发送数据。在后端我使用python webapp2 feamework。当我得到它完美显示的数据时。但是当我将它与某些字符串进行比较以供进一步使用时,它不起作用。
我知道当我们获取数据时它是unicode。但是我将它转换为utf-8并且它仍然无效。
这是html中的代码。假设我发送了"item 2" as itemname
<a href="/main/items/?itemname= {{res.itemName}}&itemdescription={{res.itemDescription}}"> Click me </a>
我用来获取数据的代码是
def get(self,nam,des):
nam = self.request.get('itemname')
itemDesc= self.request.get('itemdescription')
name = nam.encode('utf-8')
if name == "item 2":
self.response.write("Equal")
我也在没有编码的情况下尝试它,但它仍然不起作用。它完美地显示了项目名称的值。但它不是在比较它们。请帮助我犯错的地方。
答案 0 :(得分:1)
看起来有两个问题,在设置预期值之前有一个空格,字符串是urlquoted。
修复空间:
<a href="/main/items/?itemname={{res.itemName}}&itemdescription={{res.itemDescription}}"> Click me </a>
然后使用编码,添加import urllib
并更改行
name = nam.encode('utf-8')
到
name = urllib.unquote(nam.encode('utf-8'))