Страница администратора Django отсутствует CSS - PullRequest
22 голосов
/ 04 апреля 2011

Я видел этот вопрос и рекомендации от Django Projects здесь , но все еще не могу заставить это работать.Мои страницы администратора Django вообще не отображают CSS.

enter image description here

Это моя текущая конфигурация.

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 django
Group django

Когда я запускаюls -l в моем каталоге /media

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?

UPDATE 2 Когда я введу ls -la в моем /media/admin папка

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/, и она все еще не работала

Ответы [ 17 ]

1 голос
/ 13 апреля 2011

Я не уверен, поможет ли это, но в моем конфигурационном файле у меня есть:

    Alias /adminmedia/ /var/lib/python-support/python2.6/django/contrib/admin/media/   

    <Directory "/var/lib/python-support/python2.6/django/contrib/admin/media"> 
            AllowOverride None                                                 
            Options FollowSymLinks                                             
            Order allow,deny                                                   
            Allow from all                                                     
    </Directory>

Это работает, но мой сервер настроен только для разработки / тестирования.

1 голос
/ 12 апреля 2011

Попробуйте добавить

Options FollowSymLinks

к вашему

<Directory /home/django/sgel/media>
    Order deny,allow
    Allow from all
</Directory>

так что в итоге вы получите

<Directory /home/django/sgel/media>
    Options FollowSymLinks
    Order deny,allow
    Allow from all
</Directory>
0 голосов
/ 26 августа 2011

Я столкнулся с той же проблемой при запуске стека Bitnami Django на Win32 (встроенный сервер разработки)

Я решил проблему, найдя отсутствующие папки CSS в установке и изменив settings.py.

# Additional locations of static files
STATICFILES_DIRS = (
    'C:/Program Files/BitNami DjangoStack/apps/django/django/contrib',
)

Это поможет вам начать разработку ... Это не оптимально.Не забывайте запятую :)

0 голосов
/ 02 марта 2014

Если вы используете virtualenvwrapper как я, то вот как вы можете найти свои административные медиа-файлы и исправить это:

workon <project_name>
export DJANGO_BASEFILE=`python -c 'import django; print django.__file__'`
export DJANGO_BASEDIR=$(dirname ${DJANGO_BASEFILE})
ln -s $DJANGO_BASEDIR/contrib/admin/media <project_dir>/media/admin

Замените <project_name> на ваше имя среды virtualenvwrapper и project_dir в ваш рабочий каталог.:)

0 голосов
/ 05 июля 2012

когда мы говорили о django, мы должны знать, на каком издании мы работаем.«ADMIN_MEDIA_PREFIX» используется в django до выпуска 1.4, см.

The included administration app django.contrib.admin has for a long time 
shipped with a default set of static files such as JavaScript, images and 
stylesheets. Django 1.3 added a new contrib app django.contrib.staticfiles 
to handle such files in a generic way and defined conventions for static 
files included in apps.
Starting in Django 1.4, the admin's static files also follow this convention, 
to make the files easier to deploy. In previous versions of Django, it was 
also common to define an ADMIN_MEDIA_PREFIX setting to point to the URL where 
the admin's static files live on a Web server. This setting has now been deprecated 
and replaced by the more general setting STATIC_URL. Django will now expect to 
find the admin static files under the URL <STATIC_URL>/admin/.

https://docs.djangoproject.com/en/dev/releases/1.4/. Я использую django 1.4 и до сих пор смущаюсь по этому поводу.

0 голосов
/ 04 января 2012

Если ничего не помогает, добавьте следующее в urls.py

url(r'^media/(?P<path>.*)$', 'django.views.static.serve', { <br/>
            'document_root': '/usr/lib/python2.4/site-packages/django/contrib/admin/media/', <br/>
           'show_indexes' : True, <br/>
        }), <br/>

Это не зависит от apache или nginx

0 голосов
/ 14 апреля 2011

Вы пытались установить значение для

MEDIA_ROOT MEDIA_URL ADMIN_MEDIA_PREFIX

правильно?

Я имею в виду, что URL-адрес MEDIA_ROOT и ADMIN_MEDIA_PREFX должны иметь другое значение.Пожалуйста, проверьте эти значения в файле settings.py и попробуйте снова.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...