incuna-notification

Software skärmdump:
incuna-notification
Mjukvaruinformation:
Version: 0.3.2
Ladda upp dagen: 14 Apr 15
Utvecklare: James Tauber
Licens: Gratis
Popularitet: 0

Rating: 4.0/5 (Total Votes: 1)

incuna-anmälan är en Django app för att integrera stöd anmälan i din app är en enkel process i tre steg.
- Skapa dina meddelande typer
- Skapa din anmälan mallar
- Skicka meddelanden
Skapa Notice Typer

Du måste ringa create_notice_type (etikett, display, beskrivning) en gång för att skapa meddelande typer för din ansökan i databasen. Etiketten är bara den interna kortnamn som kommer att användas för denna typ, är displayen vad användaren ser som namnet av typen anmälan och beskrivningen är en kort beskrivning.
Till exempel:
notification.create_notice_type ("friends_invite", "inbjudan mottagen", "du har fått en inbjudan")
Ett bra sätt att automatiskt göra detta skapande meddelande typ är i ett management.py fil för din app, knuten till SyncDB signalen. Här är ett exempel:
från django.conf importinställningar
från django.utils.translation import ugettext_noop som _
om "anmälan" i settings.INSTALLED_APPS:
& Nbsp; från importanmälan modeller som anmälan
& Nbsp; def create_notice_types (app, created_models, utförlighets, ** kwargs):
& Nbsp; notification.create_notice_type ("friends_invite", _ ("Inbjudan Received"), _ ("du har fått en inbjudan"))
& Nbsp; notification.create_notice_type ("friends_accept", _ ("Acceptance Received"), _ ("en inbjudan som du skickade har accepte"))
& Nbsp; signals.post_syncdb.connect (create_notice_types, avsändare = anmälan)
annars:
& Nbsp; print "Hoppar skapa NoticeTypes som app anmälan hittades inte"
Lägg märke till att koden är insvept i ett villkor klausul så om anmälan inte är installerad, kommer din app fortsätta ändå.
Notera att displayen och beskrivningsargument är markerade för översättning med hjälp ugettext_noop. Det gör att du kan använda Django s makemessages hantering kommandot och användning anmälan s i18n kapacitet.
Meddelandemallar
Det finns fyra olika mallar som kan vara skrivna för det faktiska innehållet i meddelandena:
- Short.txt är en mycket kort, textversion av meddelandet (lämplig för saker som e ämnen)
- Full.txt är en längre, textversion av meddelandet (lämplig för saker som e organ)
- Notice.html är en kort, html versionen av meddelandet, som visas i en användares meddelande lista på hemsidan
- Full.html är en lång, html-version av meddelandet (för närvarande inte användas för något)
Var och en av dessa bör placeras i en katalog på mallen vägen kallas anmälan / / . Om något av detta saknas, skulle en standard användas. I praktiken bör notice.html och full.txt tillhandahållas på ett minimum.
Till exempel kan en anmälan / friends_invite / notice.html innehålla:
{% Belastning i18n%} {% URL inbjudningar som invitation_page%} {% url profile_detail användarnamn = invitation.from_user.username som user_url%}
{% blocktrans med invitation.from_user som invitation_from_user%} {{invitation_from_user}} har begärt att lägga till dig som vän (se inbjudningar ) {% endblocktrans%}
och anmälan / friends_full.txt kan innehålla:
{% Belastning i18n%} {% URL inbjudningar som invitation_page%} {% blocktrans med invitation.from_user som invitation_from_user%} {{invitation_from_user}} har begärt att lägga till dig som vän. Du kan acceptera deras inbjudan på:
http: // {{current_site}} {{invitation_page}}
{% Endblocktrans%}
De kontextvariabler tillhandahålls när du skickar in anmälan.
Skicka Anmälan
Det finns två olika sätt att skicka ut meddelanden. Vi har stöd för blockering och icke-blockerande metoder för att sända meddelanden. Det enklaste sättet att skicka ut ett meddelande, till exempel:
notification.send ([to_user], "friends_invite", {"from_user": from_user})
En sak att notera är att skicka en proxy runt antingen send_now eller kön. De har alla samma signatur:
skicka (användare, etikett, extra_context, on_site)
Parametrarna är:
- Användarna är en iterable av användarobjekt att skicka anmälan till.
- Etiketten är den etikett som du använt i föregående steg för att identifiera typen varsel.
- Extra_content är en ordbok för att lägga till egna kontext poster till mallen används för att göra anmälan. Detta är valfritt.
- On_site är en boolesk flagga för att avgöra om ett tillkännagivande objekt skapas i databasen.
send_now vs kö vs send
Låter först bryta ner vad var och en gör.
send_now
Detta är en blockerande samtal som kommer att kontrollera varje användare för elgibility av meddelandet och faktiskt peform sänd.

Detta är en icke-blockerande samtal som står i kö för att samtalet send_now att exekveras vid en senare tidpunkt. För att senare köra samtalet måste du använda kommandot emit_notices hantering.
skicka
En proxy runt send_now och kön. Den har fått sitt beteende från en global inställning som heter NOTIFICATION_QUEUE_ALL. Som standard är det falskt. Denna inställning är tänkt att hjälpa till att kontrollera om du vill att köa någon uppmaning att skicka.
skickar också accepterar nu och köa sökords argument. Som standard varje alternativ är satt till False att hedra den globala inställningen som är falskt. Detta gör att du kan åsidosätta på en per samtal till fall om det ska ringa send_now eller kön.
Valfri support anmälan
Om du vill använda ett meddelande i återanvändbara app kan du linda import av anmälan i ett villkor klausul som testar om det är installerat innan du skickar ett meddelande. Som ett resultat din app eller projekt fungerar fortfarande utan anmälan.
Till exempel:
från django.conf importinställningar
om "anmälan" i settings.INSTALLED_APPS:
& Nbsp; från importanmälan modeller som anmälan
annars:
& Nbsp; anmälan = None
och därefter, senare:
Om anmälan:
& Nbsp; notification.send ([to_user], "friends_invite", {"from_user": from_user})

Krav :

  • Python
  • Django

Annan programvara för utvecklare James Tauber

Symposion
Symposion

20 Feb 15

Pyjamas
Pyjamas

14 Apr 15

Kommentarer till incuna-notification

Kommentarer hittades inte
Kommentar
Slå på bilder!