当前位置 : 主页 > 网页制作 > HTTP/TCP >

如何重新格式化URL以使其更加安静(从… /?id = 123到… / 123)?

来源:互联网 收集:自由互联 发布时间:2021-06-16
目前我通过以下网址访问过页面 www.foo.com/details.html?id=123 我想让它们更加宁静,比如下面的内容: www.foo.com/details/123 我正在使用Google App Engine.目前,URL是在html-mappings文件中映射的: ('/d
目前我通过以下网址访问过页面

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")

…继续你的代码.

网友评论