【问题标题】:Difference between render_template and redirect?render_template 和重定向之间的区别?
【发布时间】:2014-02-10 03:11:15
【问题描述】:
return redirect(url_for('index', var=var))
return render_template('index.html', var=var)

这两行本质上是一样的吗?

这两个函数有什么区别?

【问题讨论】:

    标签: python flask


    【解决方案1】:

    redirect 向浏览器返回一个 302 标头,其 Location 标头作为 index 函数的 URL。 render_template 返回 200,index.html 模板作为该 URL 的内容返回。

    【讨论】:

      【解决方案2】:

      在一个更简单的说明中,请考虑这一点 - 如果您的端点都没有呈现模板,并且您的所有重定向都指向应用程序中端点的 url,那么将没有任何东西可以呈现!

      这就像为一个不会出现的地方指路。

      【讨论】:

      • @thanos.a 看看我的解决方案可能会有所帮助
      【解决方案3】:

      一个 URL 端点可以有许多不同的 render_template 语句,因此从您的模板文件夹呈现不同的页面模板。另一方面,使用重定向会更改 URL 本身,从而调用与该路由关联的方法。

      【讨论】:

        【解决方案4】:

        使用redirect()重定向到一个传递的URL相当于从客户端(浏览器)对redirect()方法中传递的URL传递一个GET请求,因此会导致执行传入的URL的“查看”功能,一般情况下,最后我们有一个“返回语句”,通过render_template返回Html页面(模板),最终将Html页面传递给客户端浏览器。

        render_template 仅将 Html 页面及其所有其他参数传递给客户端浏览器,之后不会执行“视图”功能。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-09
          • 2012-01-28
          • 2014-05-29
          • 2011-08-29
          • 2012-09-06
          • 2011-06-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多