我正在构建一个博客,我正在研究将其内容导出到json和xml的方法。为了实现这一点,我想到了从请求标题中获取我想要导出其内容的页面的URL。但我怀疑它是否会奏效,因为谷歌搜索没有给我任何答案。
我这样做,当我将.json添加到我的博客url的末尾时,json正在显示,所以这就是为什么我要从请求中获取url,我甚至使用了os.environ但是不行。
编辑:所以根据@Timbtron的回答,我使用了self.request.get['path_url']
但这只会导致一个关键错误。
对不起,我明白错了它应该是
self.request.path_url
答案 0 :(得分:1)
如果我理解正确,您正在尝试获取用户在处理该用户请求时请求的URL。如果是这样,请查看以下文档:
要考虑的另一个策略是您可以创建3个处理程序,一个用于HTML,XML和JSON。您可以根据用户请求的“文件扩展名”设置路由规则以命中相应的处理程序。
例如:
另一个要考虑的想法。
答案 1 :(得分:0)
不是解析代码中的url_path,而是让URI Routing为你处理它(借用Tombatron的例子):
class HtmlBlogHandler(webapp2.RequestHandler):
def get(self):
self.response.write('This is the HtmlBlogHandler.')
class JsonBlogHandler(webapp2.RequestHandler):
def get(self):
self.response.write('This is the JsonBlogHandler.')
class XmlBlogHandler(webapp2.RequestHandler):
def get(self):
self.response.write('This is the XmlBlogHandler.')
app = webapp2.WSGIApplication([
(r'/article.html', HtmlBlogHandler),
(r'/article.json', JsonBlogHandler),
(r'/article.xml', XmlBlogHandler),
])
您可以自定义路径以处理各种文章ID和类型。