在根目录上添加falcon应用程序路由



我正在为一些网页编写一个falcon应用程序。现在我在/js下有一些js、css文件,在root目录下有/css。这些/js和/css目录可以有多个子目录,文件可能位于其中一个子目录中。

我想添加一个猎鹰应用程序路线,以便网页请求

/js/subdir1/subdir2/temp.js
/js/subdir1/temp2.js 

可以通过相同的应答器方法来满足。

但当我尝试时,添加了一条类似的路线

app.add_route("/js/{filename}", ResourceClass())

对/js/subdr1/subdr2/temp.js的请求没有到达响应程序。

我的应答器如下,

class ResourceClass(object):
    def on_get(self, request, response, filename):
        file_path = os.path.join(path_to_js,filename)
        serve_file(response, file_path)

serve_file将创建适当的响应并返回

我希望文件名填充为

"subdir1/subdir2/temp.js" for "/js/subdir1/subdir2/temp.js" and
"subdir1/temp2.js" for "/js/subdir1/temp2.js "

如何添加路由和响应程序?

如果您使用Apache,您可以按如下方式配置您的站点:

Alias /js/ /path/to/wsgi/js/
<Directory /path/to/wsgi/js>
    Order deny,allow
    Allow from all
</Directory>
WSGIScriptAlias / /path/to/wsgi/script.py
<Directory /path/to/wsgi>
    <Files script.py>
        Order allow,deny
        Allow from all
    </Files>
</Directory>

重新启动apache并在http://localhost/js URL下访问静态文件

Falcon 1.4.1(或更早版本(为整个目录提供带前缀的静态文件服务。

asset_path = "/var/www/html/js/"
js_path = asset_path + "js/"
api.add_static_route('/assets', asset_path)
api.add_static_route('/assets/js', js_path)

将服务于任何CCD_ 2。

相关内容

  • 没有找到相关文章

最新更新