【问题标题】:How to serve static files WebApp2 NO Google AppEngine如何提供静态文件 WebApp2 NO Google AppEngine
【发布时间】:2017-08-16 18:53:03
【问题描述】:

我正在尝试在 AppEngine 之外使用 WebApp2,但在文档中的任何地方都找不到如何设置文件的静态路由。

例如,我有以下文件夹结构

演示文稿

-->js
-->-->main.js
-->templates
-->-->index.html (loaded via Jinja)

我如何引用 main.js,因为使用 ../js/main.js 给了我 404

【问题讨论】:

    标签: python webapp2


    【解决方案1】:

    这是处理此问题的文档:Quick start (to use webapp2 outside of App Engine)。这没有用吗?

    【讨论】:

    • +1 表示有用的链接,但它不包含有关静态文件的信息。提供静态文件与 webapp2 应用程序分开发生,因此这取决于 OP 在哪个服务器上运行他们的应用程序。
    【解决方案2】:

    服务静态文件should occur outside of your WSGI application(webapp2 app),所以它取决于你使用什么服务器来运行你的 webapp2 应用程序(这是一个 WSGI 应用程序),因为该服务器需要配置为服务于静态文件。您能否在问题中添加您使用的服务器类型和/或您如何运行 webapp2 应用程序?

    【讨论】:

    • 感谢您的回复,经过大量挖掘发现类似。问题是我对 WebApp2 作为 AppEngine Dev App Server 的正常点缺乏了解。我只需要一个简单的 HTTP 服务器,所以执行以下操作 static_app = StaticURLParser("Presentation/") # 创建一个级联,首先查找静态文件,然后尝试 webapp app = Cascade([static_app, web_app]) def main() : httpserver.serve(app, host='127.0.0.1', port='8080') if name == 'main': main()
    【解决方案3】:

    感谢您的回复,经过大量挖掘后发现类似。问题是我对 WebApp2 作为正常点的 AppEngine Dev App Server 的确切含义缺乏了解。

    我只需要一个简单的HTTP服务器,所以做如下

    static_app = StaticURLParser("Presentation/")
    
    # Create a cascade that looks for static files first, then tries the webapp
    app = Cascade([static_app, web_app])
    
    def main():
        httpserver.serve(app, host='127.0.0.1', port='8080')
    
    if __name__ == '__main__':
        main()
    

    然后运行 ​​python main.py

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-29
      • 2018-11-26
      • 2014-07-24
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 2017-08-15
      • 2013-03-29
      相关资源
      最近更新 更多