Форум сайта python.su
Здравствуйте!
Debian+nginx+uwsgi+django1.4
Проект настроен и работает. Но понадобилось подключить админку. Админка подключилась, но без css.
Исходные настройки:
settings.py
MEDIA_ROOT = '/home/nule/proj/mapsbank/files/media' #В этой папке ничего нет
MEDIA_URL = '/media/'
STATIC_ROOT = '/home/nule/proj/mapsbank/files/static_root' #В этой папке ничего нет
STATIC_URL = '/static/'
STATICFILES_DIRS = (
"/home/nule/proj/mapsbank/files/static", #Статика сайта здесь
)
server {
listen 80;
listen 443;
server_name xxx;
access_log /home/nule/proj/mapsbank/logs/nginx_access.log;
error_log /home/nule/proj/mapsbank/logs/nginx_error.log;
root /home/nule/proj/mapsbank/mapsbank ;
location /
{
uwsgi_pass unix:///var/tmp/mapsbank_uwsgi.sock;
include uwsgi_params;
uwsgi_buffers 8 128k;
}
location /static/ {
alias /home/nule/proj/mapsbank/files/static/;
expires 30d;
}
}
Отредактировано dnstuff (Янв. 21, 2013 09:00:19)
Офлайн
Не знаю насколько это правильно, я делаю симлинк на …django/contrib/admin/static/admin/ с именем admin в каталог static проекта.
Офлайн
dnstuff
Что у вас за дистрибутив Linux?
У меня на девелоперской машине в Gentoo была схожая проблема, которую решил довольно костылно - в /etc/nginx/nginx.conf назначил работу nginx-f от своего локального пользователя. Т.е было
user nginx nginx;
user doomer nginx;
Офлайн
Ось Debian.
В результате всяческих комбинаций оказался вполне рабочим вариант, когда в директорию с сайтовой статикой скопирована директория admin джанговской статики. Причем я пытался всё сделать по честному, настроив STATIC_ROOT и сделав python manage.py collectstatic. Вся статика объединилась в static-root папке. Это не сработало. На кой хрен это всё вообще надо было, я так и не понял.
Может, мне только кажется, что статику отдает nginx, а реально она идет через django? Вот что меня беспокоит.
Офлайн
оказался вполне рабочим вариант, когда в директорию с сайтовой статикой скопирована директория admin джанговской статики.А collectstatic разве не собрал статику админки (именно в static/admin/)? Руками вске скопировать конечно тоже несложно, но…
Может, мне только кажется, что статику отдает nginx, а реально она идет через django? Вот что меня беспокоит.Ну так в логах nginx-а оно должно быть, т.к. для location /static/ у вас в конфиге не выыставлено access_log off;
Офлайн
collectstatic собрал статику из папки static и из дефолтной папки со статикой админки в папку static_root. вот только этот вариант не заработал. админка так и осталась “голой”. пробовал в nginx.conf
location /static/ {
alias /home/nule/proj/mapsbank/files/static/;
expires 30d;
}
location /static/ {
alias /home/nule/proj/mapsbank/files/static_root/;
expires 30d;
}
Отредактировано dnstuff (Янв. 21, 2013 20:35:45)
Офлайн