如何重新格式化URL以使其更加安静(从… /?id = 123到… / 123)?
作者:互联网
目前我通过以下网址访问过页面
www.foo.com/details.html?id=123
我想让它们更加宁静,比如下面的内容:
www.foo.com/details/123
我正在使用Google App Engine.目前,URL是在html-mappings文件中映射的:
('/details.html*', DetailsPage),
然后在DetailsPage处理程序上,它通过以下方式获取ID值:
class DetailsPage(webapp.RequestHandler):
def get(self):
announcement_id = self.request.get("id")
我如何重新构建它以便它可以映射URL并通过其他格式的URL提取ID:www.foo.com/details/123
谢谢
解决方法:
像这样重写你的URL映射:
('/details/(\d+)', DetailsPage),
(这要求URL的尾部包含一个或多个数字而不包含其他内容).
然后修改DetailsPage :: get()方法以接受该id参数,如:
class DetailsPage(webapp.RequestHandler):
def get(self, announcement_id):
# next line no longer needed
# announcement_id = self.request.get("id")
…继续你的代码.
标签:python,url,google-app-engine,restful-url 来源: https://codeday.me/bug/20190715/1463088.html