Django приложение для вывода сообщений
Оформил ещё одну часть кода в отдельное приложение - на этот раз приложение для вывода сообщений. Оно решает две распространённые проблемы:
1) Часто в шаблон нужно вывести какое-то сообщение, резюмирующее итог совершённых действий, но создавать ради этого сообщения место в шаблонах для каждого view неудобно.
2) После редактирования или создания объекта, нужно сделать редирект и уже на следующей странице вывести сообщение об успешности действия.
Обе этих проблемы решает приложение flash, название для которого я спёр из рельсов. Над названием я думал целый час т.к. не хотелось использовать название messaging, messages, ибо они больше подоходят для личных сообщений и других вещей. Потом стал гуглить и вспомнил, что в рельсах подобная фунциональность реалиюзуется с помощью штуки под названием flash.
Итак, чтобы использовать мою библиотеку, нужно:
* прописать flash в INSTALLED_APPS
* активировать flash.middleware.FlashMiddleware
* прописать в нужном месте базового шаблона вызов {% flash %}, не забыв сделать {% load flash_extras %} в начале этого шаблона
Всё, теперь можно выводить сообщения, для этоно надо сделать import flash в нужном view и затем использовать фунции?
* flash.notice
* flash.error
* flash.notice_next
* flash.error_next
Последние две будут выводить сообщения на страницах после редиректа. По умолчанию шаблон для вывода сообщений выглядит так.
Библиотеку можно скачать отсюда: http://hg.pydev.ru/django-flash/
1) Часто в шаблон нужно вывести какое-то сообщение, резюмирующее итог совершённых действий, но создавать ради этого сообщения место в шаблонах для каждого view неудобно.
2) После редактирования или создания объекта, нужно сделать редирект и уже на следующей странице вывести сообщение об успешности действия.
Обе этих проблемы решает приложение flash, название для которого я спёр из рельсов. Над названием я думал целый час т.к. не хотелось использовать название messaging, messages, ибо они больше подоходят для личных сообщений и других вещей. Потом стал гуглить и вспомнил, что в рельсах подобная фунциональность реалиюзуется с помощью штуки под названием flash.
Итак, чтобы использовать мою библиотеку, нужно:
* прописать flash в INSTALLED_APPS
* активировать flash.middleware.FlashMiddleware
* прописать в нужном месте базового шаблона вызов {% flash %}, не забыв сделать {% load flash_extras %} в начале этого шаблона
Всё, теперь можно выводить сообщения, для этоно надо сделать import flash в нужном view и затем использовать фунции?
* flash.notice
* flash.error
* flash.notice_next
* flash.error_next
Последние две будут выводить сообщения на страницах после редиректа. По умолчанию шаблон для вывода сообщений выглядит так.
Библиотеку можно скачать отсюда: http://hg.pydev.ru/django-flash/



















Comments
если тебе нужно выводить сообщения для авторизованных юзеров, то в django есть request.user.message_set.create и request.user.message_set.get_and_delete_messages
http://www.djangoproject.com/documentation/authentication/#messages
но там они кривые, это факт. интересно, какой долбоёб придумал, что ими можно пользоваться только зарегистрированным юзерам :) так что надо будет попробовать твоим творением попользоваться.