我是蟒蛇的新手,所以是猎鹰。我开始开发一个RESTful API,到目前为止猎鹰非常适合它。还有其他一些服务静态网页的要求,我不想为此编写应用程序或生成服务器。
从猎鹰应用程序中可以为静态网页服务吗?
发布于 2016-03-25 19:02:31
您可以像这样更好地控制到静态文件的路由:
import falcon
class StaticResource(object):
def on_get(self, req, resp, filename):
# do some sanity check on the filename
resp.status = falcon.HTTP_200
resp.content_type = 'appropriate/content-type'
with open(filename, 'r') as f:
resp.body = f.read()
app = falcon.API()
app.add_route('/static/{filename}', StaticResource())发布于 2016-01-16 13:23:45
首先,也是最重要的,我不得不说,你不想这么做。您应该做的是在Falcon应用程序之上有一个nginx服务器,并直接从nginx提供任何静态文件(并将API调用重定向到Falcon)。
尽管如此,您可以轻松地从Falcon提供静态文件。这是您要寻找的代码:
import falcon
class StaticResource(object):
def on_get(self, req, resp):
resp.status = falcon.HTTP_200
resp.content_type = 'text/html'
with open('index.html', 'r') as f:
resp.body = f.read()
app = falcon.API()
app.add_route('/', StaticResource())您可能希望将文件名设置为url中的一个参数,并在您的资源中获取它,这样您的静态资源就可以从目录中为任何请求的文件提供服务。
发布于 2018-01-31 13:08:58
你应该使用:
api.add_static_route('/foo', foo_path)
api.add_static_route('/foo/bar', foobar_path)来源于文件
https://stackoverflow.com/questions/34821974
复制相似问题