【问题标题】:My CSS and JS files won't apply to deployment我的 CSS 和 JS 文件不适用于部署
【发布时间】:2015-02-02 03:02:52
【问题描述】:

我试过了 - https://devcenter.heroku.com/articles/django-assets 而且它不会工作。

日志告诉我:

后处理(其他静态文件)

后处理的“app.js”

后处理的“style.css”

63 个静态文件复制到 /app/staticfiles,63 个后处理

验证部署...完成。

然后,当我打开 heroku 运行时,该应用程序看起来仍然很简单。帮助将不胜感激!这是settings.py中的东西

PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__)) STATIC_ROOT= os.path.join(PROJECT_ROOT,'staticfiles/') STATIC_URL = '/static/' STATICFILES_DIRS = (os.path.join(PROJECT_ROOT, 'static/'), )

【问题讨论】:

  • 您是否尝试过检查页面并验证您的链接是否设置正确?
  • 什么意思?我目前对正在发生的事情感到茫然。我搜索了很多论坛/stackoverflow 帖子,但没有任何效果。
  • 使用浏览器检查器...例如,在 Chrome 中,您可以通过 Ctrl + Shift + i 调用它
  • css 链接的标题是“Page not found at /static/style.css”我该怎么办?
  • 您在 settings.py 中的 STATICFILES_DIRSSTATIC_URLSTATIC_ROOT 是什么?

标签: css django heroku deployment static-files


【解决方案1】:

我需要将urls.py 中的网址指向STATIC_ROOT

STATIC_ROOT 应该与STATICFILES_DIRS 相同。 例如。

STATIC_ROOT = 'static_assets'
STATICFILES_DIRS = (
    os.path.join(PROJECT_ROOT, 'static_assets'),
)

另一方面,STATIC_URL 是 Heroku 在调用 collectstatic 后放置静态文件的位置。

【讨论】:

    【解决方案2】:

    如果您使用您指向的链接中显示的 settings.py 设置,则不会遇到此类问题。你的STATIC_ROOTSTATICFILES_DIRS 肯定有问题。您的设置应如下所示:

    PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
    STATIC_ROOT = 'staticfiles'
    STATIC_URL = '/static/'
    
    STATICFILES_DIRS = (
        os.path.join(PROJECT_ROOT, 'static'),
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-15
      • 2021-08-20
      • 1970-01-01
      • 1970-01-01
      • 2017-09-20
      • 2016-11-30
      • 2017-11-04
      相关资源
      最近更新 更多