当前位置: 首页 > 知识库问答 >
问题:

如何从falcon应用程序服务静态网页?

孟智志
2023-03-14

我对python和猎鹰都是新手。我开始开发一个RESTful API,到目前为止falcon非常适合它。提供静态网页还有其他一些要求,我不想为此编写应用程序或生成服务器。

是否可以从falcon应用程序提供静态网页?

共有3个答案

杜弘伟
2023-03-14

您可以更好地控制到静态文件的路由,如下所示:

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())
申屠宏胜
2023-03-14

你应该使用:

api.add_static_route('/foo', foo_path)
api.add_static_route('/foo/bar', foobar_path)

资料来源

严修诚
2023-03-14

首先也是最重要的,我必须说你不想那样做。你应该在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中的一个参数,并将其放入资源中,这样静态资源就可以为目录中任何请求的文件提供服务。

 类似资料:
  • 问题内容: 我刚刚继承了一个Java应用程序,该应用程序需要作为服务安装在XP和Vista上。自从我以任何形式使用Windows至今已有8年了,而且我从未创建过一项服务,更不用说从Java应用程序之类的东西了了(我为该应用程序提供了一个jar,并且有一个依赖项jar-log4j )。使它作为服务运行所需的魔术是什么?我已经掌握了源代码,因此尽管可以避免进行代码修改,但还是可以的。 问题答案: 我对

  • 从我的控制器中,我使用 但是我不知道如何从服务中访问它(我想我的服务类不应该扩展)。 我是否应该像这样将所需的参数映射到我的服务注册中: 或者类似的东西?如何从服务访问应用程序参数? 这个问题看起来是一样的,但我实际上回答了它(控制器的参数),我说的是从服务访问。

  • 我有一个django应用程序,静态文件使用nginx服务。我想在项目中包括应用程序(功能)。 我想创建一个新应用程序,把文件放在静态文件夹下。(但我需要更改nginx conf以提供来自这些dir的文件) > 如果我们想从两个位置提供静态文件,如何更改nginx conf? 我当前的nginx配置如下 如果我们把所有文件都放在主项目中(静态、模板),维护起来会不会变得复杂? 有没有办法像 别名/m

  • 问题内容: 我有一个MySql数据库,其中包含一些运动结果。我想编写一个Android应用程序以在手机上显示这些数据。 我已经在互联网上搜索了此问题,并且我认为不可能在MySql数据库和Android应用程序之间建立直接连接。(这是正确的吗?) 所以我的问题是:如何在android应用程序中访问MySql数据库以显示某些数据? 问题答案: 您可能需要查看C2DM(http://code.googl

  • 我从Apache切换到Nginx,使用apache,皮肤文件夹中的所有静态文件(图像、css、javascript)都直接由Apache提供服务。 示例: 我读了一些关于Nginx和Plone的文档,但我没有看到。下面是Plone.orgconf的例子:https://github.com/plone/plone-org-nginx/blob/master/nginx.conf 所以,我的问题是:

  • 应用程序服务是一项基于 HTTP 的服务,用于托管 Web 应用程序、REST API 和移动后端。 应用程序服务是一项基于 HTTP 的服务,用于托管 Web 应用程序、REST API 和移动后端。支持 ASP.NET、ASP.NET Core、Java、Ruby、Node.js、PHP 或 Python等主流编程语言,用户可以无需管理底层基础设置,即可简单、高效、安全和灵活地对应用进行部署、