gpt4 book ai didi

python - static_folder 在 Flask Debug模式和开发中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 03:55:39 25 4
gpt4 key购买 nike

我的文件结构:

my_app
/models
/views
/templates
/other_folders
/www (where flask resides)
/templates
some_files.html
/static
/css
style.css
/views
/models
my_app.py (run the app in console)
web_my_app.py (run flask app)

在 web_my_app.py 中,我的 static_folder 是这样设置的:

app = Flask('my_app',
template_folder='www/templates/',
static_folder='www/static'
)

# As a test, let's develop a basic page
@app.route('/')
def show_index():
return render_template('main.html', entry="hello")

ma​​in.html 看起来像这样:

{# Main page #}
{% extends "layout.html" %}
{% block body %}
<h2>Main Page</h2>
{{ entry }}
{% endblock %}

layout.html 具有以下样式表

<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/style.css') }}">

问题:为什么我的静态页面上会出现 404 而模板上却没有?

该应用设法很好地访问模板文件,但不知道静态页面在哪里。

最佳答案

我想您会发现静态文件很好并且可以在 http://localhost:5000/www/static/... 访问。

默认情况下,Flask 的开发服务器使用您在 static_folder 参数中提供的相同 URL 前缀提供静态文件。如果您希望 URL 不同,您必须将 static_url_path 参数添加到 Flask 构造函数中。示例:

app = Flask('my_app',
template_folder='www/templates/',
static_folder='www/static',
static_url_path='/static'
)

现在您可以在 http://localhost:5000/static/...

找到您的静态文件

关于python - static_folder 在 Flask Debug模式和开发中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18726817/

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