2012-11-09 8 views
5

私はdjango-cumulusを使ってRackspace CloudFilesのファイルを処理しようとしています。私は現在、Django 1.4.2を使用してローカルのdevサーバでのみ試しています。静的ファイルの処理にdjango-cumulusを使用するには?

cumulusのsyncstatic管理コマンドを使用して、すべての静的資産を正常にアップロードできますが、同じ設定で自分のサイトに表示することはできません。

私の関連する設定がある場合:

STATIC_URL = '/static/' 
CUMULUS = { 
    'USERNAME': 'myusername', 
    'API_KEY': 'myapikey', 
    'CONTAINER': 'mycontainername', 
    'STATIC_CONTAINER': 'mycontainername', 
} 
DEFAULT_FILE_STORAGE = 'cumulus.storage.CloudFilesStorage' 
STATICFILES_STORAGE = 'cumulus.storage.CloudFilesStaticStorage' 

私はsyncstaticを実行したときに、私が期待するよう、すべての私のアプリの静的ファイルは、/mycontainername/static/にアップロードされています。しかし、adminでページを読み込むと、STATIC_URLが無視され、http://uniquekey....r82.cf2.rackcdn.com/static/path/to/file.cssではなくhttp://uniquekey....r82.cf2.rackcdn.com/path/to/file.cssなどのURLからアセットを配信しようとします。

また、パブリック(非管理者)ページでローカルファイル/static/からサービスを提供するのではなく、CloudFilesで静的ファイルを使用する方法がわかりません。

私はいくつかの重要な設定を見逃してしまったのですか、何か間違っていますか?

答えて

0

私は同じ問題を抱えていました。私がやったことはあなたが完了したら、context_processorsことに注意してください

をsetup.py installをsudoのパイソンとそれをインストール

gitのクローンhttps://github.com/richleland/django-cumulus.git

編集context_processors.py

from django.conf import settings 

from cumulus.storage import CloudFilesStorage 

def cdn_url(request): 
    """ 
    A context processor to expose the full cdn url in templates. 

    """ 
    cloudfiles_storage = CloudFilesStorage() 
    static_url = '/' 
    container_url = cloudfiles_storage._get_container_url() 
    cdn_url = container_url + static_url 

    print {'CDN_URL': cdn_url} 

    return {'CDN_URL': cdn_url} 

にしました。 django cumulusからのpyは実際にはかなり遅いです

+0

ありがとうamdstorm。おそらく 'static_url'をハード設定するのではなく、' settings'から得ることができます。そして、あなたがそこにプリントステートメントを残そうとしているのかどうかは分かりません:) –

+0

そこにプリントステートメントを残していませんでした!ごめんなさい! – amdstorm

+0

私はあなたが静的資産をコンパイルすると、静的なURLが使用されていないことを認識しました。 – amdstorm

関連する問題