django1.4とgrappelli2.4.3をUbuntuサーバーで実行しています。これらは、本番環境でWindowsネットワークシステム上で表示しています。RDPを使用してUbuntuマシンで表示すると、開発サーバーではすべて正常に動作します。
settings.pyの関連部分は次のとおりです。
STATIC_ROOT = os.path.join(os.path.dirname(__file__), '../03_static_files/collected/')
STATIC_URL = '/static/'
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(os.path.dirname(__file__), '../03_static_files/'),
os.path.join(os.path.dirname(__file__), '../03_static_files/admin/'),
os.path.join(os.path.dirname(__file__), '../03_static_files/filebrowser/'),
os.path.join(os.path.dirname(__file__), '../03_static_files/grappelli/'),
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# 'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# apps I added but didn't create
'south',
'grappelli',
'filebrowser',
'tinymce',
'haystack',
'gunicorn',
'debug_toolbar',
'taggit',
# Uncomment the next line to enable the admin:
'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
'django.contrib.admindocs',
# apps I created
'community',
'fts',
'guidance',
'news',
)
実行しましcollectstatic
たが、管理サイトは明らかに部分的にしかレンダリングされていません。一部の要素がスタイル設定されているため、CSSを確実に取得しています。しかし、それは混乱しているように見えるので、他の人を拾っていません。NginxまたはGunicornのエラーログに404が表示されないため、ブラウザで直接それらを指定すると、すべてのcssファイルとjsファイルをダウンロードできます。
管理サイトは現在、IE8とIE9の両方で次のようになっています。
サイトに関する他のすべては正常に実行されます。Djangoデバッグツールバーは、上記の(動作中の)開発サーバーバージョンと本番バージョンが同一のテンプレートをレンダリングしていることを示しています。grappelliを削除すると、通常のdjango管理者が正しく表示されます。Nginxconfファイルをから変更してみました
location /admin/media/ {
root /path/to/django/contrib;
}
に
location /admin/media/ {
root /path/to/grappelli;
}
変更なし。誰かが私がどこで間違っているのか教えてもらえますか?