【发布时间】:2013-09-16 12:38:24
【问题描述】:
也许我错过了什么?我在我的 Amazon ec2 服务器上部署了一个站点,它加载了页面,但不是静态的。我将“site_media”目录放在“www”目录下,如下所示:
www/site_media/static 等。当我检查站点上的图像元素时,它的 URL 接缝指向正确的方向,如 http://mysite.com/site_media/static/img/logo_text.jpg(mysite 被我的站点 URL 替换)但是当我访问页面时,我得到找不到 404 页面。因为我现在仍然打开调试,所以我得到了一个可用 URL 的列表,与静态有关的一个是 ^site\_media\/media\/(?P<path>.*)$ 但后来它说 The current URL, site_media/static/img/logo_text.jpg, didn't match any of these.
这是我的 settings.py 文件中的静态:
STATIC_ROOT = os.path.join(PACKAGE_ROOT, "site_media", "static")
STATIC_URL = "http://mysite.com/site_media/"
STATICFILES_DIRS = [
os.path.join(PACKAGE_ROOT, "static"),
]
STATICFILES_FINDERS = [
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
]
下面是如何将静态添加到我的主 urls.py 文件中:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
如果您需要任何其他信息,请告诉我!
【问题讨论】:
-
你运行
collectstatic命令了吗? -
是的。实际的静态文件存在于 www/site_media/static/ 目录中。我不知道为什么它会抛出 404 为什么如果我访问它会抛出 404。
-
您是否已将 'django.contrib.staticfiles' 添加到您的 installed_apps 中?
标签: django django-staticfiles django-deployment