我们必须将staticfiles文件夹部署到heroku吗?

时间:2014-12-27 12:52:59

标签: django heroku

当我在网上关注某些教程时, .gitignore 文件中包含 staticfiles 文件夹。虽然当我将其包含在 .gitignore 文件中时,它会部署到heroku服务器。我可以在主目录中看到该文件夹​​。那为什么它包含在 .gitignore 文件中?

2 个答案:

答案 0 :(得分:1)

你没有将static文件夹提交给版本控制,你通常会为你的css,js和img创建另一个site-static文件夹。这只是因为有许多其他静态文件来自例如django admin如果你static进入collectstatic文件夹。在collectstatic之后,你会看到许多其他静态文件的django apps /另一个已安装的应用程序,这使得很难管理自己的静态文件。这就是为什么你需要ignore静态文件夹并在site-static文件夹中本地工作

我可以在主目录中看到该文件夹​​ :该文件夹来自collectstatic命令,该命令将所有静态文件收集到static文件夹中。

别忘了制作:

STATICFILES_DIRS = (
    os.path.join(PROJECT_PATH, 'site-static'),
)

答案 1 :(得分:0)

Heroku在项目中查找名为static的所有文件夹,并将这些文件夹中的所有资产文件复制到heroku上的staticfiles。您不需要手动创建{push staticfiles文件夹并将其推送到heroku。它是自动创建的。

import os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)