incuna-notification

Скріншот програми:
incuna-notification
Дані програми:
Версія: 0.3.2
Дата завантаження: 14 Apr 15
Розробник: James Tauber
Ліцензія: Безкоштовно
Популярність: 0

Rating: 4.0/5 (Total Votes: 1)

incuna-повідомлення додаток Django, щоб інтегрувати підтримку повідомлень в ваш додаток просто три етапи.
- Створювати свої типи повідомлення
- Створювати свої шаблони повідомлення
- Включити повідомлення
Створення типів Повідомлення

Ви повинні викликати create_notice_type (етикетка, дисплей, опис) один раз, щоб створити типи повідомлення для вашого застосування в базі даних. етикетки тільки внутрішній ShortName, який буде використовуватися для даного типу, дисплей є те, що користувач буде бачити як ім'я типу повідомлень і опис наведено короткий опис.
Наприклад:
notification.create_notice_type ("friends_invite", "Запрошення надійшов до редакції", "Ви отримали запрошення")
Один хороший спосіб робити це автоматично створення типу повідомлення в management.py файл для вашого застосування, підключеного до сигналу SyncDB. Ось приклад:
від django.conf параметрів імпорту
від django.utils.translation ugettext_noop Імпортувати як _
Якщо "повідомлення" в settings.INSTALLED_APPS:
І NBSP; від моделей імпортних повідомлення, повідомлення
І NBSP; Def create_notice_types (додаток, created_models, багатослівність, ** kwargs):
І NBSP; notification.create_notice_type ("friends_invite", _ ("Запрошення редакцію"), _ ("Ви отримали запрошення"))
І NBSP; notification.create_notice_type ("friends_accept", _ ("Прийняття редакцію"), _ ("запрошення ви послали була прийнята"))
І NBSP; signals.post_syncdb.connect (create_notice_types, відправник = повідомлення)
інше:
І NBSP; друк "Пропуск створення NoticeTypes як повідомлення додаток не знайдено"
Зверніть увагу, що код всередині умовного пункту тому, якщо повідомлення не встановлений, ваш додаток буде в будь-якому випадку продовжити.
Зверніть увагу, що дисплей і опис аргументи відзначені для переказу за допомогою ugettext_noop. Це дозволить вам використовувати команду управління makemessages Джанго та можливості i18n використовувати повідомлення-х років.
Шаблони сповіщень
Є чотири різних шаблонів, які можуть бути написані для фактичного змісту повідомлень:
- Short.txt є дуже коротким, текстова версія повідомлення (підходить для речей, наприклад, поштових предметів)
- Full.txt є більше, текстова версія повідомлення (підходить для речей, наприклад, поштових органів)
- Notice.html є словом, HTML версії повідомлення, відображаються в списку попереднього повідомлення користувача на сайті
- Full.html є довгий, HTML версії повідомлення (в даний час не використовується ні для чого)
Кожен з них повинен бути поміщений в каталог на шлях шаблону під назвою повідомлення / / . Якщо який-небудь з них відсутня, буде використовуватися за замовчуванням. На практиці, notice.html і full.txt повинні бути забезпечені як мінімум.
Наприклад, повідомлення / friends_invite / notice.html може містити:
{% Навантаження i18n%} {% URL запрошення, як invitation_page%} {% гіперпосилання profile_detail ім'я користувача = invitation.from_user.username як user_url%}
{% Blocktrans з invitation.from_user як invitation_from_user%} {{invitation_from_user}} запит на додавання вас у друзі (див <А HREF = "{{invitation_page }} "> запрошення ) {% endblocktrans%}
і повідомлення / friends_full.txt може містити:
{% Навантаження i18n%} {% URL запрошення, як invitation_page%} {% blocktrans з invitation.from_user як invitation_from_user%} {{invitation_from_user}} запит на додавання вас у друзі. Ви можете прийняти їх запрошення за адресою:
HTTP: // {{current_site}} {{invitation_page}}
{% Endblocktrans%}
У контекстних змінних передбачені при відправці повідомлень.
Відправка повідомлень
Є два способи відправки повідомлень. У нас є підтримка блокування і неблокуючим способу відправки повідомлень. Найпростіший спосіб відправити повідомлення, наприклад:
notification.send ([to_user], "friends_invite", {"from_user": from_user})
Одна річ, щоб відзначити, що відправити це проксі навколо будь send_now або черги. Всі вони мають однакову сигнатуру:
відправити (користувачі, етикетка, extra_context, on_site)
Параметри:
- Користувачі це ітерацію об'єктів користувачеві відправляти повідомлення.
- Етикетка етикетка ви використовували в попередньому кроці, щоб визначити тип повідомлення.
- Extra_content є словник додавати власні записи контексту в шаблон, використовуваний для візуалізації повідомлення. Це не є обов'язковим.
- On_site є булева визначити, чи є створений об'єкт Повідомлення в базі даних.
send_now проти черги проти відправки
Давайте спочатку зламати те, що кожен робить.
відправити зараз
Це блокуючий виклик, який буде перевіряти кожен користувач для elgibility повідомлення та фактично peform посил.
чергу
Це виклик без блокування, які в черзі на виклик, щоб send_now повинна бути виконана на більш пізньому етапі. Щоб згодом здійснити телефонний дзвінок, потрібно використовувати команду управління emit_notices.
послати
Проксі навколо send_now і черги. Він отримав свою поведінку з глобальної обстановці імені NOTIFICATION_QUEUE_ALL. За замовчуванням це значення False. Цей параметр призначений, щоб допомогти керувати, чи хочете ви стояти в черзі жодного дзвінка, щоб відправити.
відправити також бере тепер і стояти в черзі іменовані аргументи. За замовчуванням, кожен параметр встановлений в значення False, щоб вшанувати глобальний параметр, який є хибним. Це дозволяє перевизначити для кожного виклику основі, чи повинен він назвати send_now або черги.
Додаткова підтримка повідомлень
У випадку, якщо ви хочете використовувати повідомлення в багаторазової додаток, ви можете обернути імпорт повідомлення в умовному реченні, який перевіряє, якщо він встановлений перед відправкою повідомлення. В результаті ваш додаток або проект ще функціонує без попереднього повідомлення.
Наприклад:
від django.conf параметрів імпорту
Якщо "повідомлення" в settings.INSTALLED_APPS:
І NBSP; від моделей імпортних повідомлення, повідомлення
інше:
НЕ & NBSP; повідомлення = Немає
а потім, через:
Якщо повідомлення:
І NBSP; notification.send ([to_user], "friends_invite", {"from_user": from_user})

Вимоги

  • Python
  • Django

Інші програми розробника James Tauber

Symposion
Symposion

20 Feb 15

Pyjamas
Pyjamas

14 Apr 15

incuna-notification

Коментар не знайдено
додати коментар
Включіть картинки!