Django管理页面缺少CSS
我看到这个问题从Django的项目和建议,但仍不能得到这个工作。我的Django Admin页面根本不显示CSS。
这是我当前的配置。
settings.py
ADMIN_MEDIA_PREFIX = '/media/admin/'
httpd.conf
<VirtualHost *:80> DocumentRoot /home/django/sgel
ServerName ec2-***-**-***-***.ap-**********-1.compute.amazonaws.com
ErrorLog /home/django/sgel/logs/apache_error.log
CustomLog /home/django/sgel/logs/apache_access.log combined
WSGIScriptAlias / /home/django/sgel/apache/django.wsgi
<Directory /home/django/sgel/media>
Order deny,allow
Allow from all
</Directory>
<Directory /home/django/sgel/apache>
Order deny,allow
Allow from all
</Directory>
LogLevel warn
Alias /media/ /home/django/sgel/media/
</VirtualHost>
<VirtualHost *:80>
ServerName sgel.com
Redirect permanent / http://www.sgel.com/
</VirtualHost>
另外,我还运行以下命令来创建(我认为)符号链接 ln -s /home/djangotest/sgel/media/admin/ /usr/lib/python2.6/site-packages/django/contrib/admin/media/
更新
在我的httpd.conf文件中
User djangoGroup django
当我在/media目录中运行ls -l时
drwxr-xr-x 2 root root 4096 Apr 4 11:03 admin-rw-r--r-- 1 root root 9 Apr 8 09:02 test.txt
该root用户应该改为django吗?
更新2 当我进入ls -la我的/media/admin文件夹
total 12drwxr-xr-x 2 root root 4096 Apr 13 03:33 .
drwxr-xr-x 3 root root 4096 Apr 8 09:02 ..
lrwxrwxrwx 1 root root 60 Apr 13 03:33 media -> /usr/lib/python2.6/site-packages/django/contrib/admin/media/
问题是,当我导航到时/usr/lib/python2.6/site-packages/django/contrib/admin/media/,文件夹为空。所以我将Django安装中的CSS,IMG和JS文件夹复制到其中/usr/lib/python2.6/site-packages/django/contrib/admin/media/,但仍然无法正常工作
回答:
除了按照Daniel Roseman的建议更正符号链接之外,你还需要确保运行Apache的用户具有对管理媒体的读取权限。
- 如果
ls -l
在媒体目录中,你会看到符号链接吗? - 如果你
cd admin
来自媒体目录,是否可以使用?如果你随后运行,ls
可以看到管理媒体吗? - 运行
Apache
的用户是否具有对管理媒体的读取权限?如果所有这些方法都起作用,那么请使用你当前的配置和这些命令的结果来更新你的问题,我们将再次进行研究。
对Update的响应:好的,权限看起来不错。看来你的媒体目录中的目录结构有点错误。
/usr/lib/python2.6/site-packages/django/contrib/admin/media/
空的事实也令人不安。解决紧迫的问题后,你可能需要在预期的地方考虑重新安装django。
无论如何,这是结构的外观:
$ cd media$ ls -la
drwxr-xr-x 2 root root 4096 Apr 13 03:33 .
drwxr-xr-x 3 root root 4096 Apr 8 09:02 ..
lrwxrwxrwx 1 root root 60 Apr 13 03:33 admin -> /usr/lib/python2.6/site-packages/django/contrib/admin/media/
-rw-r--r-- 1 root root 9 Apr 8 09:02 test.txt
也就是说,在media/目录内部应该是admin直接调用/admin/mediadjango安装目录的链接。
要解决你的问题,请在media/admin/目录内部运行:
rm mediacd ..
rmdir admin
然后按照Daniel Roseman的答案中的建议重新创建符号链接。
以上是 Django管理页面缺少CSS 的全部内容, 来源链接: utcz.com/qa/404944.html