我制作了一个非常简单的烧瓶应用程序,它从 .html 文件中读取其内容。该应用程序的工作方式除外。奇怪的是,我的内联 css 代码有效,但外部样式表无效。我检查了语法,它应该可以工作。烧瓶是否以某种方式阻止读取 .css 文件?
文件夹中的文件可以在这里查看。这三个文件都在同一个文件夹中。
您的代码没有使用 Flask 提供文件,它只是读取文件并将其发送到浏览器 - 这就是 URL 不起作用的原因。
您需要从方法中呈现文件。
首先templates
在与您的文件相同的目录中创建一个文件夹,.py
然后将您的 html 文件移动到该文件夹中。创建另一个名为的文件夹static
并将您的样式表放在该文件夹中。
你应该有
/flaskwp1.py
/templates
webcode.html
/static
webcodestyle.css
然后,调整您的代码:
from flask import Flask, render_template
app = Flask('flaskwp1')
# webcode = open('webcode.html').read() - not needed
@app.route('/')
def webprint():
return render_template('webcode.html')
if __name__ == '__main__':
app.run(host = '0.0.0.0', port = 3000)
编辑webcode.html
:
<link rel="stylesheet"
type="text/css"
href="/static/webcodestyle.css"/>
您需要创建一个特定的静态 url 和目录。
url_for('static', filename='style.css')
将使您的应用程序能够在 Web 应用程序模块的根目录下名为“static”的文件夹中查找名为“style.css”的文件。它将通过 url '/static/style.css' 提供给您的 Web 应用程序
您可能想要发布 html 文件的内容和 python 代码本身,以便我们可以看到可能出了什么问题。听起来 URL 不正确,或者您没有设置 Web 服务器以从该位置提供静态文件。