python - GAE/Python 请求转发?

标签 python google-app-engine request forwarding

我想知道是否有我在 Java servlet 编程中习惯使用的 RequestDispatcher.forward(request, response) 的 pythonic 等价物?它在 Java 中是一种足够常见的技术,使您能够对特定类型的请求进行一些预处理,然后交给另一个 url 处理程序。这一切都发生在服务器内部,这可以节省大量时间。

我在 GAE/Python 文档中看到的最接近的东西是 RequestHandler.redirect(),但这是没有希望的。一方面,浏览器有额外的往返行程。另一方面,不能保证重定向一旦脱离我的控制就会真正被遵循,这让我有点紧张。 (从语义上讲,这也是错误的,因为重定向意味着原始资源可能不可用或已移动,但事实并非如此。)

在 webapp2 中有一些听起来非常接近的东西,描述于 http://webapp-improved.appspot.com/api/webapp2.html#webapp2.RedirectHandler ;但从相当粗略的文档中我可以猜到,它只是为了做一种 url 重写,这根本不是我想要的。

最佳答案

我不知道 GAE,但在 django 中你可以这样做:

def view2(request):
   do_some_stuff()

def view1(request):
    do_some_stuff()
    view2(request) # <-- note this line

在 GAE 中,也许你可以这样做:

return View.action.__func__(self, ...)

(尽管这取决于功能,可能会搞砸,例如,如果 View.action 使用 self.something_which_should_be_here_but_isnt_because_self_is_some_other_thing)

关于python - GAE/Python 请求转发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8059858/

相关文章:

python - 如何在 pandas 数据框中引用以数字作为名称的列?

Python 如何绘制背景单元格

python - 尝试循环遍历数据存储对象中的所有条目并在字典中添加帖子编号

python获取请求承载身份验证 token +访问 key

javascript - 如何避免 - 使用 Cheerio 进行网页抓取时出现错误 403

spring - 用于数据库请求的 Java8 Stream 或 Reactive/Observer

python - 信号发生器特定噪声调制

python - 我怎样才能只解析/拆分每个元素中有多个冒号的列表?创建字典

java - 如果我的配额已过期,如何删除数据存储?

python - 谷歌应用引擎: Users API acting oddly