そのため、デバッグ= Falseを使用して開発中のdjango-compressorを動作させました。 ただし、Debug = Trueに設定すると、django-compressorは正しいURL、ファイル、およびすべてを生成するように見えますが、Django自体はそれらのファイルに対して404を返します。
私が持っています
STATIC_ROOT = os.path.join(PROJECT_DIR, "static_media")
プロジェクトのstatic_mediaフォルダー内に、コンプレッサーによって作成されたCACHE / css /bfdeac875f7a.cssファイルが実際に表示されます。
生成されたHTMLファイルの中には、
<link rel="stylesheet" href="/static/CACHE/css/bfdeac875f7a.css" type="text/css" />
しかし、ページがロードされると、runserverは次のように言います。
[21/Dec/2012 22:28:44] "GET /static/CACHE/css/bfdeac875f7a.css HTTP/1.1" 404 276
私は何かが足りないのですか? 私はすでに持っています
'django.core.context_processors.static',
をTEMPLATE_CONTEXT_PROCESSORS
追加しました'compressor.finders.CompressorFinder',
をSTATICFILES_FINDERS
追加しました'compressor',
をINSTALLED_APPS
追加しましたありがとう!
やあ、
私たちはあなたを助けるためにあなたのセットアップについてもう少し情報が必要になるでしょう:
ありがとう
やあ、
次の設定でDjango1.4.3を使用しています。
...
# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = os.path.join(PROJECT_DIR, "static_media")
# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'
# Additional locations of static files
STATICFILES_DIRS = (
# Put strings here, like "/home/html/static" or "C:/www/django/static".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
os.path.join(PROJECT_DIR, "static"),
)
# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
'compressor.finders.CompressorFinder',
)
COMPRESS_PRECOMPILERS = (
('text/coffeescript', 'coffee --compile --stdio'),
('text/x-scss', 'sass --scss {infile} {outfile}'),
)
...
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
...
'compressor',
...
)
...
static_media
内に手動で配置したファイルは、 /static/
URLからもアクセスできないため、静的ファイルを正しく構成していないはずです...それが重要な場合は、Django1.3からも移行しました。 私が何を試してみるべきかについての予感がありますか?
また、runserverは、Debugがtrueの場合、 static_media
フォルダー内のファイルを正常にフェッチしますが、falseの場合は失敗します...
申し訳ありませんが、以前にそれを見逃したとは信じられません。DEBUGが_True_のときに問題が発生したことをどういうわけか読みました。
ともかく。 DEBUG = Falseの場合、パフォーマンスとセキュリティの問題のため、実行サーバーはデフォルトで静的ファイル自体の提供を拒否します。 これは、これを本番環境で使用できないようにするためです。 DEBUGがFalseのときにローカルで静的ファイルを適切にテストできるようにするには、 https ://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/に記載されているように、-insecureフラグをrunserverに渡す必要があり
それで問題は解決しますか?
おやおや、私の悪い。 元の質問で誤って「True」と「False」を切り替えてしまいました。混乱してすみません。
そして、どうもありがとう、それは問題を解決します!
最も参考になるコメント
申し訳ありませんが、以前にそれを見逃したとは信じられません。DEBUGが_True_のときに問題が発生したことをどういうわけか読みました。
ともかく。 DEBUG = Falseの場合、パフォーマンスとセキュリティの問題のため、実行サーバーはデフォルトで静的ファイル自体の提供を拒否します。 これは、これを本番環境で使用できないようにするためです。 DEBUGがFalseのときにローカルで静的ファイルを適切にテストできるようにするには、 https ://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/に記載されているように、-insecureフラグをrunserverに渡す必要があり
それで問題は解決しますか?