在此先感谢您的帮助。
我正在尝试让 Django 在 Bluehost 上工作。Django 的管理站点已启用并可在http://www.my-domain.com/admin/ 访问。但是,整个管理站点看起来就像没有样式或图像的纯 html - 与我在使用 Django 自己的服务器(带有$ python manage.py runserver
)时看到的不同。
在四处寻找解决方案后,我尝试了以下方法:
STATIC_ROOT
在我的 settings.py中设置正确的值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。
- 每当我使用“python manage.py collectstatic”时,它都会将文件复制到我项目的根文件夹中,而不是我项目的静态文件夹(我在 中指定的文件夹
STATIC_ROOT
)中。我尝试将它们手动复制到此文件夹中,但管理站点仍然看起来像纯 html。
如果您需要任何其他信息,请告诉我。
任何帮助都感激不尽 :)
谢谢!