В дополнение к исправлению символической ссылки, как предложил Даниэль Роузман, вам необходимо убедиться, что пользователь, на котором работает Apache, имеет доступ на чтение к носителю администратора.
- Если вы делаете
ls -l
в своем медиа-каталоге, вы видите символическую ссылку?
- Если вы
cd admin
из вашего медиа-каталога, это работает? Если вы затем запустите ls
, можете ли вы увидеть админ-медиа?
- Имеет ли пользователь, который запускает Apache, доступ на чтение к среде администратора?
Если все это работает, то обновите ваш вопрос, указав текущую конфигурацию и результаты этих команд, и мы еще раз рассмотрим.
Ответ на обновление : Хорошо, разрешения выглядят нормально. Похоже, у вас немного неправильная структура каталогов в вашем медиа-каталоге.
Тот факт, что /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/media
вашей установки django.
Чтобы исправить то, что у вас есть, в каталоге media/admin/
запустите:
rm media
cd ..
rmdir admin
, а затем заново создайте символическую ссылку, как предложено в ответе Даниэля Роузмана.