2016-07-08 26 views
1

enter image description here基本的Django staticfile在Heroku

部署我想部署一個Django項目的Heroku(之前在openshift),但不能獲得靜態文件的權利。項目結構在上面。在螢火蟲我越來越:

"NetworkError: 404 NOT FOUND - https://myproject.herokuapp.com/static/css/bootstrap.min.css" 
bootstrap.min.css 
"NetworkError: 404 NOT FOUND - https://myproject.herokuapp.com/static/css/landing-page.css" 
landing-page.css 
"NetworkError: 404 NOT FOUND - https://myproject.herokuapp.com/static/js/jquery.js" 
jquery.js 
"NetworkError: 404 NOT FOUND - https://myproject.herokuapp.com/static/js/jquery-validate.js" 
jquery-...date.js 
"NetworkError: 404 NOT FOUND - https://myproject.herokuapp.com/static/js/bootstrap.min.js" 
bootstrap.min.js 
"NetworkError: 404 NOT FOUND - https://myproject.herokuapp.com/static/js/val.js" 
val.js 
"NetworkError: 404 NOT FOUND - https://myproject.herokuapp.com/static/font-awesome-4.2.0/css/font-awesome.min.css" 

刪節settings.py文件:

BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) 


.... 


# Application definition 

INSTALLED_APPS = (
    'django.contrib.admin', 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    'app1', 
) 

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
) 

ROOT_URLCONF = 'mysite.urls' 

WSGI_APPLICATION = 'mysite.wsgi.application' 


# Database 
# https://docs.djangoproject.com/en/1.6/ref/settings/#databases 

.... 


# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.6/howto/static-files/ 


# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.9/howto/static-files/ 
# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.9/howto/static-files/ 


STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles') 
STATIC_URL = '/static/' 

# Extra places for collectstatic to find static files. 
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'), 
    os.path.join(BASE_DIR, 'static/js'), 
    os.path.join(BASE_DIR, 'static/css') 
) 

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". 
    # Always use forward slashes, even on Windows. 
    # Don't forget to use absolute paths, not relative paths. 
    os.path.join(BASE_DIR, 'templates'), 

的mysite/wsgi.py:

import os 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") 

from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application() 

我在做什麼錯?

+0

https://devcenter.heroku.com/articles/django-assets –

+0

我看過並嘗試了這一點前面沒有成功,這是當前迭代 – user61629

+0

好了,頁面顯示你放什麼在你的wsgi文件。您尚未發佈該文件。 –

回答

1

我有一個類似的問題。將STATIC_ROOT更改爲BASE_DIR(來自PROJECT_ROOT)似乎有所幫助。

STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')