dev-сервер икает после сохранения в администраторе Django

Это начинает меня беспокоить: всякий раз, когда я использую администратора django для добавления или редактирования записи, я нажимаю «Сохранить» и ожидаю страницу подтверждения, но в результате появляется страница, которая сообщает мне, что на веб-сайте возникла ошибка (это не страница Django с трассировка, просто представление по умолчанию в моем браузере). Если я нажму «Перезагрузить» или вернусь в браузере, я вернусь к пользовательской форме. Несмотря на то, что страница подтверждения не отображается, она всегда сохраняет мою запись в базе данных, поэтому, по-видимому, это просто проблема с созданием/обслуживанием страницы подтверждения.

У кого еще возникла эта проблема? Я упускаю что-то очевидное?

Мой сервер: Django dev server Мой браузер: Internet Explorer 7 (но такая же проблема возникает с любым браузером, который я использую) Моя ОС: Windows XP


person twneale    schedule 15.09.2009    source источник
comment
Какой веб-сервер? (сервер Django dev, Apache, ...)   -  person Carl Meyer    schedule 15.09.2009
comment
Есть ли у вас переопределенный метод save() в классе вашей модели или зарегистрированный обработчик сигналов pre_save или post_save? Если да, может ли что-нибудь в этом коде вызвать исключение? А как насчет промежуточного программного обеспечения — может быть, у вас есть какое-то ведение журнала после запроса или модификация ответа, которые могут вызвать ошибку в последнюю минуту? Кроме того, вы получаете красиво напечатанные страницы ошибок, когда исключение возникает в другом месте вашего кода?   -  person rcoder    schedule 15.09.2009
comment
Я использую сервер django dev, почти сразу из коробки, без модификаций, без переопределенных методов сохранения или обработчиков сигналов до/после. Если бы я следовал простому учебнику по созданию своего первого блога и запускал его на своем сервере разработки, я, вероятно, получил бы то же самое явление при сохранении. Я определенно получаю красиво напечатанные сообщения об ошибках, когда исключение возникает где-то еще.   -  person twneale    schedule 16.09.2009


Ответы (2)


У меня было такое поведение, когда я неправильно перезаписал __init__. Или, если быть точнее, при переходе на новую версию Django с этими изношенными __init__. Это был день, когда я начал любить сигналы :D.

Можешь выложить свои модели?

person vikingosegundo    schedule 18.10.2009

Это определенно не так, как это должно работать! Вы вообще возились с кодовой базой Django? Первое, что приходит на ум, — это «pdb.set_trace()», оставленный по ошибке где-то в пути кода change_list. Навскидку я не могу придумать, что еще может заставить сервер просто не отвечать.

person Carl Meyer    schedule 15.09.2009
comment
Нет, не заморачивался с кодовой базой (это выше моих сил). Вы знаете, это странно, сервер отвечает нормально, если я перезагружу страницу или вернусь в свой браузер, но это просто первоначальная отправка, которая, кажется, не срабатывает. Хотел бы я знать больше о том, как работает сервер. И это происходит как на моем рабочем компьютере, так и на моем домашнем компьютере. - person twneale; 16.09.2009