我正在使用此行将url,main_id和user_tag_list传递给处理程序:
self.response.out.write(""" <a href="/tc?url=%s&main_id=%s&user_tag_list=%s" title="edit tag set">edit tag set</a> """ % (item.url,main_id,item.tag_list))
这工作正常,但是当传递的url(第一个参数)中已经存在问号时,我无法再获取main_id
main_id = self.request.get("main_id")
在目标处理程序中,我得到错误
m = Main.get_by_id(int(main_id)) ValueError: invalid literal for int() with base 10: ''
有没有解决的办法?
解决方法
你只想使用urllib.quote
>>> import urllib >>> urllib.quote('http://www.google.com?q=Zombie+Apocalypse') 'http%3A//www.google.com%3Fq%3DZombie%2BApocalypse'
所以:
urllib.quote(item.url)