我在heroku中有一個項目,但無法使靜態文件正常工作。Heroku/Django - 靜態文件已被複制但無法顯示它們
settings.py:
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATICFILES_FINDERS = (
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
)
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
STATICFILES_DIRS =()
我已經看到了很多的問題,通過加入這個到URL解決,所以我已經做到了,但它不會改變任何東西。
urls.py:
urlpatterns += patterns('',
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings.STATIC_ROOT
}),)
那麼collectstatic正常工作:
-----> Preparing static assets
Running collectstatic...
673 static files copied to '/app/static'.
所以他們發送的命令:heroku run ls -l
說:
heroku run ls -l
Running `ls -l` attached to terminal... up, run.9609
total 76
-rw------- 1 u3968 3968 16 2014-10-12 02:05 contributors.txt
drwx------ 2 u3968 3968 4096 2014-10-12 02:05 corelib
-rw------- 1 u3968 3968 137 2014-10-12 02:05 dev-requirements.txt
-rwx------ 1 u3968 3968 810 2014-10-12 02:05 go.sh
-rw------- 1 u3968 3968 0 2014-10-12 02:05 __init__.py
-rw------- 1 u3968 3968 129 2014-10-12 02:05 __init__.pyc
-rwx------ 1 u3968 3968 898 2014-10-12 02:05 manage.py
-rw------- 1 u3968 3968 12 2014-10-12 02:05 Procfile
-rw------- 1 u3968 3968 851 2014-10-12 02:05 requirements.txt
-rw------- 1 u3968 3968 13 2014-10-12 02:05 runtime.txt
-rw------- 1 u3968 3968 7385 2014-10-12 02:05 settings.py
-rw------- 1 u3968 3968 6750 2014-10-12 02:05 settings.pyc
drwx------ 10 u3968 3968 4096 2014-10-12 02:05 static
drwx------ 3 u3968 3968 4096 2014-10-12 02:05 templates
drwx------ 3 u3968 3968 4096 2014-10-12 02:05 theming
-rw------- 1 u3968 3968 3482 2014-10-12 02:05 urls.py
drwx------ 3 u3968 3968 4096 2014-10-12 02:05 useraccount
-rw------- 1 u3968 3968 200 2014-10-12 02:05 wsgi.py
但是URL /靜態返回一個404作爲heroku的日誌:
2014-10-12 02:06:05.751101+00:00 heroku router - - at=info method=GET path="/static/css/screen.css" ... dyno=web.1 connect=0ms service=54ms status=404 bytes=1879
我錯過了什麼?
是的,我嘗試了所有不同的設置,但沒有奏效? – 2014-10-12 21:26:46
,如果這是staticfiles_dirs的問題,那麼collectstatic將不起作用,因此它不是從這裏開始的。其實讓staticfiles_dirs爲空允許我的默認STATICFILES_FINDERS踢腳踢找到我的靜態文件,它的工作原理是這樣的,但我的問題是服務這些文件,一旦他們在服務器上(這是這種情況) – 2014-10-12 22:53:22