【问题标题】:Heroku/Django Static filesHeroku/Django 静态文件
【发布时间】:2023-03-20 08:27:01
【问题描述】:

在我的本地开发环境中

href={% static "datetimepicker-master/jquery.datetimepicker.css" %}/>

加载非常好。在heroku中,它说CSRF错误,我认为这是因为它试图从本地主机加载。

如何配置我的 settings.py 以正确加载静态文件?我的文件结构是:

/project
  /app
    /staticfiles
  /mysite

【问题讨论】:

  • csrf 错误不是静态文件加载的一部分。在 heroku dubug - false 将为您提供静态文件。
  • 所以我需要一直调试?
  • 如果forman start 工作正常。然后heroku服务器也运行良好。你能检查一下你是否可以使用domain.herokuapp.com/staticfiles/datetimepicker-master/jquery.datetimepicker.css访问css
  • @rajasimon 当我使用工头启动时,一切正常并正常加载。当我检查对 CSS 的访问时,如果调试设置为 True,我可以访问它,如您所建议的,如果调试设置为 False,我不能访问它。
  • 您提供的信息非常少。我们不能为你调试 :)

标签: django heroku


【解决方案1】:

安装 dj-static(一个 Django 静态文件服务器)(Getting Started with Django on Heroku)

使用pip安装:

pip install dj-static

settings.py

# Static asset configuration
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'),
)

wsgi.py

from django.core.wsgi import get_wsgi_application
from dj_static import Cling

application = Cling(get_wsgi_application())

【讨论】:

    猜你喜欢
    • 2015-11-06
    • 2014-02-04
    • 2016-04-16
    • 2015-05-11
    • 2021-06-03
    • 2017-07-12
    • 2021-05-30
    • 1970-01-01
    • 2016-11-13
    相关资源
    最近更新 更多