现在,我有两种方法可以(显然)在我的应用程序中完成同一件事。我可以使自己的网址看起来像这样https:// something / product / shirt或https:// something / product?q = shirt。在这两种情况下,我都可以从中提取所需的东西,那就是衬衫。
第一种方式(使用正则表达式):
class FirstHandler(BaseHandler):
def get(self, page_id):
target = page_id
PAGE_RE = r'(/(?:[a-zA-Z0-9_-]+/?)*)'
app = webapp2.WSGIApplication([('/something' + PAGE_RE, FirstHandler)],
debug=True)
我处理它的第二种方法是使用参数,它看起来像这样:
class SecondHandler(BaseHandler):
def get(self):
target = self.request.get('q')
app = webapp2.WSGIApplication([('/something' SecondHandler)],
debug=True)
我的问题是,这些方法是否等效?如果我做一个或另一个,是否一样?还是我必须考虑其他事项?
查看您希望提出的所有请求,并确定其中哪些应由唯一的端点(/shirt
)表示,哪些将允许一个或多个参数。您可以在必要时组合使用这些方法。
使用URL路径或参数没有性能损失或任何其他优势。关键因素是:
例如,/shirt
现在看起来像个好主意,但是一旦您拥有成千上万种产品类型,维护就成了噩梦。相反,您可能想要使用类似以下的内容:
/product/?type=shirt&size=10&orderBy=price&results=20&offset=40
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句