在Heroku上部署Django静态文件

3

我已经在Heroku上运行我的应用程序,我的模型和表单一切都很好,但存在一个问题,我无法看到任何样式,无论是我的模板还是Django Grappelli的样式,如何解决这个问题?

谢谢。

1个回答

2

请检查你的图片和样式表引用路径是否正确。确保你的STATIC_URL是一个相对路径。同时,请确保你的STATIC_ROOTSTATIC_URL不相同。

settings/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/)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接