如何在Flask中设置静态文件路径?
时间: 2024-12-19 13:21:44 浏览: 44
在Flask中设置静态文件路径非常简单。首先,你需要创建一个用于存放静态文件的文件夹,比如在项目根目录下创建一个名为`static`的文件夹。然后,你可以按照以下步骤配置:
1. **在`app.py`中设置静态文件路由**:
使用`flask.Flask`类的`add_url_rule`方法,为静态文件添加一个URL规则。例如:
```python
from flask import Flask, send_from_directory
app = Flask(__name__)
app.static_folder = 'static' # 设置静态文件目录,默认是'app/static'
app.add_url_rule('/static/<path:path>', view_func=send_from_directory(app.static_folder), methods=['GET'])
```
这样,任何访问`http://localhost:5000/static/filename.jpg`的请求都会从`static`文件夹查找。
2. **使用`send_file`函数**:
如果你想直接使用`send_file`函数发送文件,可以这样操作:
```python
@app.route('/images/<filename>')
def serve_image(filename):
return send_file(os.path.join(app.root_path, 'static', filename))
```
记得替换`'static'`为你的实际静态文件夹名称,如果是相对路径,`app.root_path`会帮你获取项目的根目录。
如果你已经设置了这些,但是仍然遇到`404`错误,可能是路径拼写有误或者是服务器端配置问题,可以检查上述提到的原因。
阅读全文