2017-08-16 76 views
1

我想在AppEngine之外使用WebApp2,并且无法在文档中的任何位置找到如何设置文件的静态路由。如何提供静态文件WebApp2 NO Google AppEngine

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

介绍

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

如何引用main.js为使用../js/main.js给了我一个404

回答

1

以下是处理此问题的文档:Quick start (to use webapp2 outside of App Engine)。这不行吗?

+1

+1进行了有益的联系,但它不包括有关静态文件的信息。提供静态文件与webapp2应用程序分开进行,因此它取决于服务器OP运行他们的应用程序。 –

0

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

+0

欣赏你的回复,在挖掘之后发现类似的东西。问题在于我对WebApp2到底是什么AppEngine Dev App Server的问题缺乏了解。 我只需要一个简单的HTTP服务器,这样做以下 static_app = StaticURLParser(“演示/”) #创建级联,看起来对静态文件,然后再尝试webapp的 应用=级联([static_app, web_app]) DEF主(): httpserver.serve(应用程序,主机= '127.0.0.1',端口= '8080') 如果__name__ == '__main__': main()中 –

0

欣赏你的反应,经过多次挖掘后发现类似。问题在于我对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