Форум сайта python.su
Добрый день.
Возникла такая проблема: пытаюсь развернуть джанго на nginx, однако при таком способе у меня джанго в упор не видит базы данных, то есть выдаёт DatabaseError (no such table) при заходе на любую страничку. Хотя в тестовом сервере (runserver) всё работает отлично.
Подскажите, в чём может быть загвоздка.
База в sqlite.
Отредактировано (Дек. 3, 2011 12:58:06)
Офлайн
а syncdb что сказал?
import this
Офлайн
fashustsyncdb показывает что всё нормально. говорю же, с runserver всё работает как часы, а при использовании runfcgi таблиц в базе вообще не видит.
а syncdb что сказал?
Отредактировано (Дек. 3, 2011 17:57:25)
Офлайн
YanzayОдна тема – один вопрос!
Кто что скажет?
Офлайн
Ну, для начала пропиши в settings.py что-то типо такого:
import os
.....
PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
....
MEDIA_ROOT = PROJECT_ROOT + '/media'
....
STATIC_ROOT = PROJECT_ROOT + '/static'
PROJECT_ROOT + 'что-то там где лежит твой файл'
import this
Офлайн
Александр КошелевПрошу прощения, просто решение одного потянуло другой =)
Одна тема – один вопрос!
fashustЗа это огромное спасибо, помогло. Надо было и самому до этого догадаться.
Ну, для начала пропиши в settings.py что-то типо такого:
fashustОказалось (на сколько я понял) nginx и не пытается запрашивать статику у джанго, а отдаёт её сам. А так как он не знает где находится статика админки, вот и не подтягивал стили. Решилось добавлением в конфиг nginx алиаса такого типа (может кому пригодится):
По поводу стилей в админке. А что у тебя помимо fastcgi? или все на нем висит?
location /static/admin {
alias /usr/local/lib/python2.6/dist-packages/Django-1.3.1-py2.6.egg/django/contrib/admin/media;
expires 30d;
}
Офлайн
ну вообще лучше не прописывать так как у тебя тут:
YanzayЛучше сделай символическую ссылку на admin/media и помести ее куда-то в свой проект, а в конфигах nginx пропиши:location /static/admin {
alias /usr/local/lib/python2.6/dist-packages/Django-1.3.1-py2.6.egg/django/contrib/admin/media;
expires 30d;
}
location /static/admin {
alias /project_dir/other/admin/media;
expires 30d;
}
import this
Офлайн