-2

開発環境でのファイルの展開に問題があります。
以下の私の構成を参照してください。期待どおりに
python manage.py collectstaticからすべてのファイルを収集し、 に保存します。 ただし、css ファイルへのリンクは( としてレンダリングされた) を使用する場合は正しいですが、元のファイルは. にあるファイルを削除しても。'/Users/vikingosegundo/Projects/website/media/'/Users/vikingosegundo/Projects/website/mydjangoproject/static/
<link href="{% static "css/style.css"%}" rel="stylesheet" type="text/css"><link href="/staticmedia/css/style.css" rel="stylesheet" type="text/css">/Users/vikingosegundo/Projects/website/media/STATIC_ROOT /Users/vikingosegundo/Projects/website/mydjangoproject/static/
/Users/vikingosegundo/Projects/website/media/

設定ミスはどこにありますか?

設定.py

MEDIA_ROOT = '/Users/vikingosegundo/Projects/website/mydjangoproject/media/'
MEDIA_URL = '/sitemedia/'
STATIC_ROOT = '/Users/vikingosegundo/Projects/website/mydjangoproject/static/'
STATIC_URL = '/staticmedia/'
STATICFILES_DIRS = [
       '/Users/vikingosegundo/Projects/website/media/',
]

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
     'django.core.context_processors.media',
    'django.core.context_processors.static',
)


INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #....

)
4

1 に答える 1

1

これは、django 組み込みのビューとヘルパーを使用した静的ファイルの提供が、開発とデバッグのみを目的としているからだと思います。DEBUGプロジェクト設定で が True の場合、静的ファイルは元の場所から提供されます。これにより、たとえば CSS ファイルを変更するたびに collectstatics 管理コマンドを強制的に実行する必要がなくなります。

DEBUG 設定をオフにするdjango.conf.urls.static.staticと、いとこのヘルパーは開発目的のみを目的としているため、機能しなくなります。それでも、テンプレート タグは、運用環境または開発環境で正しい静的ファイルの URL を指している必要があるため、機能します。

管理コマンドの実行はcollectstatic、静的ファイルを最終的な宛先 (STATIC_URL) にコピーするための便利なヘルパーです。実稼働環境でそれらを提供するのは自分の責任です。これは (静的な) Web サーバーの場所で行うのが最適です (django/python プロセスを介してポンピングするのを避けます)。したがって、Django のドキュメントでは、静的ファイルの提供に Django を使用しないことを明示的に推奨しています。

開発中の静的ファイルの提供について詳しくは、静的ファイルの管理: 開発中の静的ファイルの提供を参照してください。

于 2012-09-18T21:40:43.137 に答える