Heroku部署中的静态文件Django

时间:2014-04-23 18:09:59

标签: django heroku static

我的应用程序在Heroku中运行,一切都非常适合我的模型和表单,但有一个问题,我无法看到我的任何样式我的模板不适用于Django Grappelli,我怎么能解决这个问题?

谢谢。

1 个答案:

答案 0 :(得分:2)

检查图像/样式尝试引用的路径。确保您的STATIC_URL是相对路径。同时确保您的STATIC_ROOTSTATIC_URL不一样。 例如:

设置/ base.py

from unipath import Path

# Project directory root assuming: yourapp.settings.base
PROJECT_DIR = Path(__file__).ancestor(3)

# Static files
STATIC_ROOT = PROJECT_DIR.child("static")

# URL prefix for static files.
STATIC_URL = '/static/'

此布局遵循类似于:

的目录结构
project_name/
|-- app 1
    |-- models.py
    |-- views.py
    ...

|-- project_name
    |-- settings
        |-- base.py
        |-- local.py
        |-- dev.py
        ...

默认情况下,Heroku在您上传项目时应该收集静态,但如果您修改了此设置,请确保致电:

python manage.py collectstatic

然后,您可以检查指定文件夹中是否存在静态文件(在上面的示例中,它将位于/static/