我的文件结构:
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")
main.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而不是我的模板?
该应用程序设法访问模板文件很好,花花公子,但不知道静态页面在哪里。
答案 0 :(得分:2)
我认为你会发现静态文件很好并且可以在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/...