gpt4 book ai didi

Python Eve 提供给定文件夹中的静态文件

转载 作者:行者123 更新时间:2023-11-28 22:41:02 24 4
gpt4 key购买 nike

我用 Eve 和 Python 构建了一个简单的 REST api。

from flask import redirect, send_from_directory, render_template
from eve import Eve
import os


PWD = os.environ.get('PWD')
public = os.path.join(PWD, 'public')


app = Eve(static_folder=public)

# serve index.html
@app.route('/')
def index():
return send_from_directory(public, 'index.html')

# start the app
if __name__ == '__main__':
app.run()

当请求 / 时,我只是从 /public 文件夹提供静态 HTML 文件。

我正在使用 bower 安装 bootstrap:

<link rel="stylesheet" type="text/css" href="bower_components/bootstrap/dist/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="bower_components/bootstrap/dist/css/bootstrap-theme.css">

但问题是,虽然路径是正确的,但找不到文件。

谁能解释一下为什么会这样?

最佳答案

我花了很长时间才弄明白这一点。您必须显式导入 send_from_directory 并使用 __name__

from eve import Eve
from flask import send_from_directory

app = Eve(__name__, static_folder="static")

@app.route('/')
def index():
return send_from_directory("static", 'index.html')

app.run()

然后在 settings.py 中:

URL_PREFIX="api"

静态文件传送:

http://127.0.0.1:5000/ 
http://127.0.0.1:5000/static/images/image.jpg
http://127.0.0.1:5000/static/css/style.css

API 调用:

http://127.0.0.1:5000/api/person/

关于Python Eve 提供给定文件夹中的静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33017189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com