heroku使用静态根路径django部署错误。 static_root未设置为文件系统路径

时间:2018-03-26 05:05:41

标签: python django heroku collectstatic

当我尝试部署时,我的静态文件设置根据heroku配置不正确。毫无疑问,这是错误的,因为我仍然不了解设置静态文件的正确方法。

我在我的机器上运行了collect static,它确实有效。我将提供我要求的信息,以帮助我澄清这一点。我将继续研究并希望找到一个解决方案。

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
#angular distro root
ANGULAR_APP_DIR = os.path.join(BASE_DIR, 'frontend/dist')


STATICFILES_DIRS = [
    os.path.join(ANGULAR_APP_DIR),

]


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.11/howto/static-files/
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'

这些是我目前的根网址:

urlpatterns = [
    url(r'^$', serve, kwargs={'path': 'index.html'}),
    url(r'^(?!/?static/)(?!/?media/)(?P<path>.*\..*)$',RedirectView.as_view(url='/static/%(path)s', permanent=False)),
    url(r'api/',include(rootapi)),
]

1 个答案:

答案 0 :(得分:0)

STATIC_URL添加到您的urlpatterns

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # your url patterns
]

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)