我使用 heroku 来托管我的Django(1.6)应用(称为' Zen ')。问题是静态文件没有显示。换句话说,我的应用程序中没有CSS和JS,因为它没有找到这些文件。我在这里查看了其他问题,并将我的应用配置如下:
Settings.py :
##### Static asset configuration #####
STATIC_ROOT = 'staticfiles'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
urls.py:
from django.conf.urls.static import static
from zen import settings
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL,
document_root=settings.STATIC_ROOT)
urlpatterns += patterns('',
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),
)
wsgi.py :
import os
from django.core.wsgi import get_wsgi_application
from dj_static import Cling
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "zen.settings")
application = Cling(get_wsgi_application())
显然,在使用git push heroku master
推送我的应用后,所有功能都很好:
-----> Preparing static assets
Running collectstatic...
69 static files copied to '/app/staticfiles'.
但是你可以看到我的应用程序中没有CSS(http://obscure-reef-8874.herokuapp.com/)。我查看了应用程序的日志,大多数css和js文件都处于404状态......我尝试了一切,你能帮助我吗?
编辑:
我没有找到错误,我重新创建了一个应用程序,它很简单。
答案 0 :(得分:0)
设置
STATIC_ROOT = 'static'
试 可能由不同的STATIC_ROOT和STATICFILES_DIRS
引起答案 1 :(得分:0)
问题不在于您的静态文件服务:这很好,因为您可以看到是否转到管理应用程序:http://obscure-reef-8874.herokuapp.com/admin/。 / static / admin /下的文件没有问题。
如果没有看到应用程序的结构以及模板中输出静态链接的方式,很难提供帮助,我猜你的文件位于/ static /的子目录中,所以你需要引用那个子目录在模板中资产的链接中。
请注意,您应该从urls.py中删除其他静态网址格式。当DEBUG为False时,它们不起作用。您的文件由Cling提供,它位于Django外部。