2015-04-01 77 views
0

我正在部署一個Django應用程序到Stackato。一切工作正常,除了靜態文件。根據該文件,這是我使用.yml文件設置:Stackato沒有服務器Django靜態文件

processes: 
    web: $STACKATO_UWSGI --static-map /static=$HOME/static 

這裏是我的本地setting.py:

STATIC_URL = '/static/' 

STATICFILES_DIRS = (
    os.path.join(PROJECT_PATH, "static"), 
    '/var/www/static/', 
) 

而且,這裏是我的項目結構

Project -- ..... 
      | 
      static -- css 
        | 
        -- images 

我沒有看到日誌中的任何錯誤。任何想法?

回答

0

就想通了:

1.當settings.DEBUG設置爲True,靜態URL模式必須包括:

from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
if settings.DEBUG: 
urlpatterns += staticfiles_urlpatterns() 

2.Static文件應遵循這種結構:

Project -- <app 'Project'> -- settings.py 
      |     | 
      |     -- urls.py 
      |     | 
      |     -- wsgi.py 
      | 
      -- <app 'somename'> -- .. 
          | 
          -- static -- <app 'somename'> -- css - a.css 
                  | 
                  -- images - a.jpg 

3. STATIC_ROOT不應該是靜態目錄的實際位置,可能是這樣的:Project/Project/static,而STATICFILES_DIRS必須是實際的靜態文件目錄是Project/somename app/static

參考:https://github.com/mozilla/mozmoderator

0

你的配置應該可以工作。您的靜態/ css靜態/圖片中的具體資產將通過類似http://your-stackato-host/static/css/yourstyle.css的網址提供。

爲了幫助解決這個問題,我創建了一個bare-bones example on github,您可以克隆並推送到Stackato以驗證它是否正常工作。

+0

感謝您的幫助!它現在通過在答案中添加缺少的url設置來工作。 – Hua2308 2015-04-08 17:02:12

相關問題