Django Admin页面缺少CSS [英] Django Admin Page missing CSS
问题描述
我看到这个问题和Django项目的建议在这里,但仍然无法让这个工作。我的Django管理员页面根本没有显示CSS。
I saw this question and recommendation from Django Projects here but still can't get this to work. My Django Admin pages are not displaying the CSS at all.
这是我目前的配置。
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/
In addition, I also ran the following to create (I think) the symbolic link
ln -s /home/djangotest/sgel/media/admin/ /usr/lib/python2.6/site-packages/django/contrib/admin/media/
更新
在我的httpd.conf文件中,
In my httpd.conf file,
User django
Group django
当我在我的 / media
目录中运行ls -l </ p>
When I run ls -l in my /media
directory
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吗?
Should that root user be django instead?
更新2
当我在 / media / admin
文件夹中输入 ls -la
total 12
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 media -> /usr/lib/python2.6/site-packages/django/contrib/admin/media/
事情是,当我导航到 /usr/lib/python2.6/site-packages/django/contrib/admin/media /
时,文件夹是空的。所以我将CSS,IMG和JS文件夹从我的Django安装中复制到了 /usr/lib/python2.6/site-packages/django/contrib/admin/media /
中,仍然没有工作
The thing is, when I navigate to /usr/lib/python2.6/site-packages/django/contrib/admin/media/
, the folder was empty. So I copied the CSS, IMG and JS folders from my Django installation into /usr/lib/python2.6/site-packages/django/contrib/admin/media/
and it still didn't work
推荐答案
除了Daniel Roseman建议之外,还要纠正符号链接,您需要确保运行Apache的用户已读取对管理媒体的访问权限。
In addition to correcting the symbolic link as Daniel Roseman suggested, you'll need to make sure that the user that is running Apache has read access to the admin media.
- 如果您执行
ls -l
在您的媒体目录中,您是否看到符号链接? - 如果您的媒体目录中的
cd admin
,它是否工作?如果您运行ls
,您可以看到管理媒体吗? - 运行Apache的用户是否具有对管理媒体的读取权限?
- If you do
ls -l
in your media directory, do you see the symbolic link? - If you
cd admin
from your media directory, does it work? If you then runls
can you see the admin media? - Does the user that runs Apache have read access to the admin media?
如果所有这些都有效,那么请使用您当前的配置和这些命令的结果来更新您的问题,我们将再次查看。
If all those things work, then please update your question with your current configuration and results of those commands and we'll take another look.
对更新的响应:好的,权限看起来很好。看起来你的媒体目录中的目录结构有点错误。
Response to Update: Ok, the permissions look ok. It looks like you've got the directory structure in your media directory a little bit wrong.
事实上,$ code> / usr / lib / python2。 6 / site-packages / django / contrib / admin / media / 是空的也是令人不安的。一旦你解决了现在的问题,你可能需要考虑在预期的地方重新安装django。
The fact that /usr/lib/python2.6/site-packages/django/contrib/admin/media/
was empty is disturbing, too. Once you solve the immediate problem you may want to look into reinstall django in the expected place.
无论如何,结构应该如何看待:
Anyways, here's how the structure should look:
$ 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
也就是说,在$ code> media / 目录之前,他们应该一个名为 admin
的链接直接转到django安装的 / admin / media
目录。
That is, inside of the media/
directory their should be a link called admin
directly to the /admin/media
directory of your django installation.
要修复您所拥有的内容,请在 media / admin /
目录中运行:
To fix what you've got, inside of the media/admin/
directory run:
rm media
cd ..
rmdir admin
,然后按照Daniel Roseman的回答建议重新创建符号链接。
and then re-create the symlink as suggested in Daniel Roseman's answer.
这篇关于Django Admin页面缺少CSS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!