flask - 在 Flask 生产环境中提供静态文件
问题描述
我的static
文件夹中有文件app
夹,这就是我有js
,css
等images
文件夹的地方。
我在我的模板中这样引用它们:
<script src="/static/js/main.js"></script>
它在本地工作。但是,当应用程序发布到生产环境时,我得到所有静态文件的 404。我是烧瓶的新手,所以我想我的服务是错误的。我没有static
在应用程序的任何地方将该文件夹设置为指定的静态文件文件夹 - 如果它被称为“静态”,它是自动完成的,还是我需要在代码中设置它?
我的项目结构:
app/
├── static/
│ └── js/
| |__ css/
├── templates/
│ └── index.html
└── __init__.py
application.py
应用程序.py:
from app import create_app
application = create_app()
初始化.py:
from flask import Flask
from config import BaseConfig
def create_app():
server = Flask(__name__)
server.config.from_object(BaseConfig) # this is just for the secret key
return server
解决方案
Flask 自动添加一个静态视图,该视图采用相对于$YOUR_APP/static
目录的路径并为其提供服务。
通常,您会在模板中包含 js/css 文件,如下所示:
{{ url_for('static', filename='main.js') }}
推荐阅读
- mule - Mulesoft_ 在 HTTP 标头下传递客户端 ID 和 Client_secret
- flutter - 如何将 TextButton 背景颜色输入到 Flutter/dart 中的函数
- java - 使用流比较Java中的HashMap列表的正确方法是什么
- mongodb - 如何使用解析服务器从现有的 mongo 集合中获取数据?
- ubuntu - 无法在 ubuntu 中连接端口 443 for https
- java - 无法实例化 MatchXpath
- react-native - react native 中的进度条和 axios
- beautifulsoup - 使用 GraphQL 更新后如何抓取网站
- javascript - 如何从预定义的变量中指定 Puppeteer 中的浏览器语言
- typescript - 如何在打字稿配置中排除多个文件扩展名?