为什么 Flask 加载 CSS 不存在的样式?
Why is Flask loading CSS styles that don't exist?
我正在尝试制作我的第一个网站。我将 Flask 与 HTML、CSS 和 Bootstrap 一起使用。一旦我对前端感到满意,我计划将其托管在 2010 iMac 运行 之类的 Ubuntu 服务器和 Apache 或 Nginx 上。
我目前遇到的问题是,由于我将项目文件夹移动到不同的目录,页面的设计与 css 样式表不匹配。起初我不确定是我的 CSS 技术不佳还是电脑问题,为了测试我添加了一些戏剧性的变化,例如:
* {
color: red;
}
前几天我这样做时没有任何变化,但是当我今天打开项目时应用了上述样式,即使它不再存在于样式表中。事实上,样式表中没有任何内容设置为红色。
因为 none 我对 style.css
所做的更改正在应用我最近从 /static
中删除了样式表,但是样式仍在应用于页面(包括所有字体红色)。这是为什么?
可能的原因:
该程序似乎在 /templates
中搜索样式表:
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='style.css') }}">
我通过 control+单击 {{ url_for('static', filename='style.css') }}
发现了这个,尝试转到文件的位置 VSCode 给我这个错误
Unable to read file `'/project/templates/{{ url_for('static', filename='style.css') }}` Unable to resolve non-existing file.`
无论style.css
是否在/static
中,都会出现上述错误。
在 application.py
中,我已尝试纠正此问题:
app = Flask(__name__,
static_folder='/static')
另外,我在其他帖子中读到,从 Apache/Nginx 加载样式表被认为是更好的做法。任何人都可以解释为什么这是或 link 我向一个资源解释这是初学者可以理解的语言吗?
提前致谢,
基本答案是您必须在此处设置 static_url_path
app = Flask(__name__, static_url_path="/STATIC_FOLDER", static_folder='STATIC_FOLDER')
关于 nginx:您不需要 nginx 进行本地开发,当您或某些 devops link 特定域名与您的应用程序时,它用于部署步骤
shift + f5
清除某些浏览器上 CSS 样式的缓存。这与仅仅刷新页面相反。
我正在尝试制作我的第一个网站。我将 Flask 与 HTML、CSS 和 Bootstrap 一起使用。一旦我对前端感到满意,我计划将其托管在 2010 iMac 运行 之类的 Ubuntu 服务器和 Apache 或 Nginx 上。
我目前遇到的问题是,由于我将项目文件夹移动到不同的目录,页面的设计与 css 样式表不匹配。起初我不确定是我的 CSS 技术不佳还是电脑问题,为了测试我添加了一些戏剧性的变化,例如:
* {
color: red;
}
前几天我这样做时没有任何变化,但是当我今天打开项目时应用了上述样式,即使它不再存在于样式表中。事实上,样式表中没有任何内容设置为红色。
因为 none 我对 style.css
所做的更改正在应用我最近从 /static
中删除了样式表,但是样式仍在应用于页面(包括所有字体红色)。这是为什么?
可能的原因:
该程序似乎在 /templates
中搜索样式表:
<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='style.css') }}">
我通过 control+单击 {{ url_for('static', filename='style.css') }}
发现了这个,尝试转到文件的位置 VSCode 给我这个错误
Unable to read file `'/project/templates/{{ url_for('static', filename='style.css') }}` Unable to resolve non-existing file.`
无论style.css
是否在/static
中,都会出现上述错误。
在 application.py
中,我已尝试纠正此问题:
app = Flask(__name__,
static_folder='/static')
另外,我在其他帖子中读到,从 Apache/Nginx 加载样式表被认为是更好的做法。任何人都可以解释为什么这是或 link 我向一个资源解释这是初学者可以理解的语言吗?
提前致谢,
基本答案是您必须在此处设置 static_url_path
app = Flask(__name__, static_url_path="/STATIC_FOLDER", static_folder='STATIC_FOLDER')
关于 nginx:您不需要 nginx 进行本地开发,当您或某些 devops link 特定域名与您的应用程序时,它用于部署步骤
shift + f5
清除某些浏览器上 CSS 样式的缓存。这与仅仅刷新页面相反。