[django] на _"_ продакшн _"_ сервере не работают сессии (или кукисы)

Alena_08_11

В общем столкнулся с хренью :
Есть продакшн ( в кавычках ) сервер. freebsd jail с nginx + uwsgi. python 2.7 django 1.2. В нём крутится несколько django сайтов (Написанных ещё на django 0.96 вроде, используют mysql). Они работают нормально.
Попытался ща запустить текущий django-проект в этих условиях (писался в PyCharm под виндой, python 2.7 django 1.2 использует sqlite3). В общем если в settings.py стоит Debug = True - то всё работает шоколадно. Как только ставлю Debug=False - перестаёт работать механизм сессий, встроенная django-админка не логинит, говоря типа "ваш браузер не хавает кукисы").
В чём может быть проблема ? С чего начать диагностику ? В инете погуглил - ничего путного ненагуглил.
в логах nginx ничё по теме нет. в логах uwsgi вроде тоже.

Alena_08_11

Если запускать встроенный в django тест веб сервер под виндой с debug = False, то вроде всё работает, но в консоль постоянно какается что то типа

Validating models...
0 errors found

Django version 1.2.4, using settings 'reklama.settings'
Development server is running at http://127.0.0.1:7000/
Quit the server with CTRL-BREAK.
[04/Feb/2011 20:18:53] "GET / HTTP/1.1" 200 6758
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 280, in run
self.result = application(self.environ, self.start_response)
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 674, in __call__
return self.application(environ, start_response)
File "C:\Python27\lib\site-packages\django\core\handlers\wsgi.py", line 241, in __call__
response = self.get_response(request)
File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 130, in get_response
return self.handle_uncaught_exception(request, resolver, sys.exc_info
File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 180, in handle_uncaught_exception
return callback(request, **param_dict)
File "C:\Python27\lib\site-packages\django\utils\decorators.py", line 76, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "C:\Python27\lib\site-packages\django\views\defaults.py", line 30, in server_error
t = loader.get_template(template_name) # You need to create a 500.html template.
File "C:\Python27\lib\site-packages\django\template\loader.py", line 157, in get_template
template, origin = find_template(template_name)
File "C:\Python27\lib\site-packages\django\template\loader.py", line 138, in find_template
raise TemplateDoesNotExist(name)
TemplateDoesNotExist: 500.html


Это как то может быть связано ?

tipnote

С отслеживания ручками, а че с куками происходит в реальности?
Но вообще сайты под 0.96 обычно не работают на новых джанго версиях. Странно, что он не вывалился по ошибке импорта

tipnote

500 ошибка у него, а у тебя не настроенный джанго

Alena_08_11

Просмотр кода элемента в chrome показывает, что есть куки
sessionid и csrftoken. Вроде больше и ненадо никаких. т.е. на клиенте вроде всё ок.
А те 0.96 - я их вроде рихтовал немного (вроде в моделях изменения, и в способе попадания их в джанго админку).

Alena_08_11

а у тебя не настроенный джанго
а поподробнее ?

tipnote

csrf
лучше отключить на время дебага. вообще все лишнее лучше отрубить

tipnote

а поподробнее ?
500 шаблона джанго не видит
500 джанго кидает на ошибку во вьюхе - вешай try-except и лови

confessionlife

я так понял в дебаге все хорошо, а в продакшене все плохо
значит смотрим что плохо в ветке, когда debug=False
главное отличае в том, что джанга не берет свои темплейты для вывода ошибок (404 500 и пр а хочет ваши, а они есть?

soroka000

забыл залогиниться ... и не почитал 2-й пост
TemplateDoesNotExist: 500.html
ну так и есть, джанга в дебаге ищет кастомный 500.html, а его как видимо нет
вот она и ругается
Вообще совет на правах оффтопа: т.к. джанга развивается и весьма активно, саму джангу ставить в систему не рекомендуется, а хранить джангу, как библиотеку внутри проекта именно той версии, под которую написан проект.
Это позволит выборочно мигрировать проекты на новые версии и удобнее поддерживать старые. (хотя наверно вы все это знаете)

Alena_08_11

Своих темплэйтов в глючащем проекте нету, в старых работающих - есть. Ща буду пробовать ...
Это позволит выборочно мигрировать проекты на новые версии и удобнее поддерживать старые. (хотя наверно вы все это знаете)
Не, не знаю. Но благодаря вашей наводке скоро, наверное, буду знать :)
Оставить комментарий
Имя или ник:
Комментарий: