Показаны сообщения с ярлыком глюки. Показать все сообщения
Показаны сообщения с ярлыком глюки. Показать все сообщения

пятница, 8 июня 2012 г.

django-lfs: опыт использования. часть 3 (ошибка при работе скидками)

Этот пост небольшой и посвящен одной единственной проблемке.

django 1.4
python 2.7

В интерфейсе управления (manage) создаем объект - скидку (discount).

Пытаемся добавить критерий, нажимая на одноименную ссылку и ничего не происходит.

Открываем js-консоль и видим там 500 Internal server error в ответ на запрос, который делается при нажатии на "добавить критерий".

Копируем проблемный url и открываем его в отдельной вкладке (убедитесь, что settings.DEBUG=True) , чтобы увидеть стек и понять в чем причина 500-ки.


На картинке не видно, но  в стеке нас отправляют исправлять lfs/manage/criteria/views.py:49

Смотрим,  а там действительно бага - указан некорректный формат для функции strftime.
Вместо %s надо указывать %S.

#       "id": "%s%s" % (now.strftime("%s"), now.microsecond),
         "id": "%s%s" % (now.strftime("%S"), now.microsecond),

После такого простейшего фикса все должно быть ок и на форме добавления критериев скидок появляются нужные контролы.

четверг, 24 мая 2012 г.

flatpages валится в продакшене

Поразительно мрачный глюк сегодня уделал меня в flatpages!
Приложение в debug =True работает на ура. При debug = False то работает то нет! Пока понял закономерность - поседел.
Валились страницы , где рендерились flatpages. Понял , что в них дело , но как пофиксить никак не мог дотукать. Почитал матчасть и освежил особенность , связанную с обработкой 404. Простая страница будет рендериться, если не найдено ни одного подходящего урла. Да, только оказалось, что еше ей нужен фейковы 404.html в корне темплейтов. Ужас. Поди - догадайся!
Надеюсь кому-то помогло. p.s. да... еще проверьте, что у вас не переопределены хендлеры для 404, а то тоже не получится отрендерить простую страницу...

пятница, 20 апреля 2012 г.

KIckstart, виджеты vkontakte - и пара седых волос

Сегодня попросили запилить виджет ВКонтакте для отображения ифрейма одной из ВК-групп.
Ранее это я делал сотни раз - ну примитивнейшая задачка, которая сводится лишь к небольшому копипасту. Подключил нужный openapi.js от ВКонтакте.
Поместил нужный код (div+script) в нужное место нужного сайдбара и обновил страницу. Увидел два идентичных блока с данными группы. "Ха, ерунда" , подумал я , будучи уверен, что скопировал лишний div или что-то вроде того...
 Увидился, когда код оказался в порядке. И началось... Ну сплошная мистика - откуда второй блок - неясно.
 Забегая вперед - на пальцах и сейчас не объясню , откуда...  Но в итоге нашел "виновника"...
На данном сайте используется CSS - фреймворк Kickstart. Довольно практичная и удобная штука, надо сказать. Ну так вот. Этот фреймфорк идет вместе со своим js-тулкитом, в котором заплен функционал для простеньких слайдшоу, некоторая хитрая работа с DOM и т.д. Файл подключен в <head>. В консоль ошибками не плюется. Сам фреймворк отлажен и пользуется популярностью у существенного количества людей. Но вот ВКонтактовский виджет зачем-то клонирует) В итоге пришлось <script> , рисующий вконтактовский ифрейм помещать непосредственно перед </body> , чтобы не дать никому шанса все испортить...
Виджетов теперь ровно столько, сколько надо - один :)

p.s. какой именно код kickstart.js все испохабил я пока не понял.. будет время (а это врядли ) - раскопаю :)