0

したがって、私は Django アプリをデプロイしたことがなく、全体の速度を上げようとしています。collectstatic コマンドを実行したところ、静的ファイルがレンダリングされなくなりました。findstatic コマンドを実行すると、次のような例外が発生します。

django.core.exceptions.ImproperlyConfigured: The storage backend of the staticfiles finder     <class 'django.contrib.staticfiles.finders.DefaultStorageFinder'> doesn't have a valid location.

私のテンプレートはただ見つけるだけでレンダリングされますが、css ファイルが見つからない理由がわかりません。私の設定モジュールからのハイライト:

settings/
    base.py
    devel.py
    prod.py

base.py

cwd = os.path.dirname(os.path.abspath(__file__)) 
PROJECT_ROOT = cwd[:-9] # chop off "settings/"

STATICFILES_FINDERS = [
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'django.contrib.staticfiles.finders.DefaultStorageFinder',
]

TEMPLATE_LOADERS = [
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
'django.template.loaders.eggs.Loader',
]

TEMPLATE_DIRS = [
os.path.join(PROJECT_ROOT, "templates"),
]

devl.py

STATIC_URL = "/site_media/static/"

STATICFILES_DIRS = [
    os.path.join(PROJECT_ROOT, "site_media", "static"),
]

STATIC_ROOT = os.path.join(PROJECT_ROOT, "site_media", "static")

site_base.html

<link rel="stylesheet" href="{{ STATIC_URL }}css/site_base.css" />

私は困惑しているので、あなたの助けをいただければ幸いです。

4

1 に答える 1

1

アップデート:

欠落しているコンテキスト プロセッサであることが判明しました。テンプレート内で STATIC_URL 設定を取得するには、staticfilesコンテキスト プロセッサを登録する必要があります。

TEMPLATE_CONTEXT_PROCESSORS = [
    ...
    'django.core.context_processors.static',
    ...
]

最初の刺し傷:

そのディレクトリを静的ソースのリストに追加する必要があるようです (re: 上記のコメント):

# list of input paths for collectstatic
STATICFILES_DIRS = [
    os.path.join(PROJECT_ROOT, "tulsa", "static"),

    # you'll want to remove this path:
    #os.path.join(PROJECT_ROOT, "site_media", "static"),
]

# output path for collectstatic
STATIC_ROOT = os.path.join(PROJECT_ROOT, "site_media", "static")
于 2012-10-26T00:06:31.353 に答える