よろしくお願いします。
DjangoをBluehostで動作させようとしています。Djangoの管理サイトが有効になっており、http://www.my-domain.com/admin/からアクセスできます。ただし、管理サイト全体は、スタイルや画像のないプレーンなhtmlのように見えます。これは、Django独自のサーバー(を使用$ python manage.py runserver
)を使用したときに表示されるものとは異なります。
解決策を探した後、私は次のことを試しました。
- 私のsettings.pyに適切な値を設定し
STATIC_ROOT
ますSTATIC_URL
(以下のコードを参照)。 ランニング:
$ python manage.py collectstatic
(何らかの理由で、settings.pyで指定したstatic /フォルダーではなく、プロジェクトのルートフォルダーにファイルをコピーしているようです)
管理サイトにアクセスすると、まだプレーンHTMLのように見えます。
これが私のsettings.pyファイルからの抜粋です:
import os.path
import sys
# (some more code here)
PROJECT_ROOT = os.path.normpath(os.path.dirname(__ file__))
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
# empty
)
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)
そして、これが私のpublic_htmlフォルダの.htaccessファイルがどのように見えるかです:
AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_URI} !^/static/
RewriteRule ^(.*)$ my_fcgi_file.fcgi/$1 [QSA,L]
次の点に注意してください。
- httpd.confにアクセスできません。
- 「pythonmanage.pycollectstatic」を使用すると、プロジェクトの静的フォルダー(で指定したフォルダー
STATIC_ROOT
)ではなく、プロジェクトのルートフォルダーにファイルがコピーされます。それらを手動でこのフォルダーにコピーしようとしましたが、管理サイトはまだプレーンhtmlのように見えます。
追加情報が必要な場合はお知らせください。
どんな助けでも大歓迎です:)
ありがとう!