0

读取一个url如下:

example.com/product/xy&z

urls = ('/product/(.*)', product)

在 GET 的产品类中,我正在读取从 URL 中提取的产品 ID (xy&z) 以创建数据库查询。其中一些 ID 中有一个“&”,当我在 python 中收到该值时,它已被转义。我的运气为零,因此我可以正确运行查询。以下不起作用:

product = product.replace("&", "&")
product = HTMLParser.unescape.__func__(HTMLParser,product)

Web.py 甚至 Python 的最佳实践是什么?什么是我自己诊断的最好方法?谢谢!

4

1 回答 1

0

我正在开箱即用地获取这些产品 ID,请参阅以下代码。

import web

urls = (
    "/product/(.*)", "Product"
)


class Product:
    def GET(self, product_id):
        return product_id


app = web.application(urls, globals())


if __name__ == "__main__":
    #app.run()
    assert web.__version__ == "0.37"
    b = app.browser()
    b.open('/product/xy&z')
    assert b.status == 200
    assert "xy&z" in b.data
    assert "xy&z" not in b.data
    b.open('/product/xy&z')
    assert "xy&z" in b.data

请提供不返回所需产品 ID 的失败 url。

于 2013-02-02T11:49:58.417 回答