incuna-notification

Skjermbilde programvare:
incuna-notification
Prog.varedetaljer:
Versjon: 0.3.2
Last opp dato: 14 Apr 15
Utvikler: James Tauber
Lisens: Gratis
Popularitet: 0

Rating: 4.0/5 (Total Votes: 1)

incuna-varsling er en Django app å integrere varsling støtte i din app er en enkel tre-trinns prosess.
- Lage dine oppslagstyper
- Lage dine oppslags maler
- Sende meldinger
Opprette Kjøps Typer

Du må ringe create_notice_type (etikett, display, beskrivelse) en gang for å skape oppslagstyper for din søknad i databasen. etiketten er bare den interne kortnavn som skal brukes til den typen, er skjermen hva brukeren vil se så navnet på varslingstype og beskrivelse er en kort beskrivelse.
For eksempel:
notification.create_notice_type ("friends_invite", "Invitasjon mottatt", "du har mottatt en invitasjon")
En god måte å automatisk gjøre denne kunngjøringen typen etableringen er i en management.py fil for din app, festet til SyncDB signal. Her er et eksempel:
fra django.conf importinnstillinger
fra django.utils.translation import ugettext_noop som _
hvis "varsel" i settings.INSTALLED_APPS:
& Nbsp; fra varslingsimportmodeller som varsling
& Nbsp; def create_notice_types (app, created_models, ordmengde, ** kwargs):
& Nbsp; notification.create_notice_type ("friends_invite", _ ("Invitasjon mottatt"), _ ("du har mottatt en invitasjon"))
& Nbsp; notification.create_notice_type ("friends_accept", _ ("Aksept mottatt"), _ ("en invitasjon du har sendt har blitt akseptert"))
& Nbsp; signals.post_syncdb.connect (create_notice_types, avsender = melding)
annet:
& Nbsp; print "Hoppe etableringen av NoticeTypes som varsling app ikke funnet"
Legg merke til at koden er pakket inn i en betinget klausul så hvis melding ikke er installert, vil app fortsette uansett.
Legg merke til at skjerm og beskrivelse argumenter er merket for oversettelse ved hjelp ugettext_noop. Som vil gjøre deg i stand til å bruke Djangos makemessages forvaltning kommando og bruk varslings sin i18n evner.
Varslings maler
Det er fire forskjellige maler som kan være skrevet for det faktiske innholdet i meldingene:
- Short.txt er en veldig kort, tekstversjon av innkalling (egnet for ting som e-fag)
- Full.txt er en lengre, tekstversjon av innkalling (egnet for ting som e-organer)
- Notice.html er en kort, html versjon av innkalling, vises i brukerens varsel liste på nettsiden
- Full.html er en lang, html versjon av innkalling (ikke i dag brukes til noe)
Hver av disse bør settes i en katalog på malen banen kalles varsling / / . Hvis noen av disse mangler, vil en standard brukes. I praksis bør notice.html og full.txt gis på et minimum.
For eksempel kan varsling / friends_invite / notice.html inneholde:
{% Belastning i18n%} {% url invitasjoner som invitation_page%} {% url profile_detail username = invitation.from_user.username som user_url%}
{% blocktrans med invitation.from_user som invitation_from_user%} {{invitation_from_user}} har bedt om å legge deg til som venn (se invitasjoner ) {% endblocktrans%}
og varsling / friends_full.txt kan inneholde:
{% Belastning i18n%} {% url invitasjoner som invitation_page%} {% blocktrans med invitation.from_user som invitation_from_user%} {{invitation_from_user}} har bedt om å legge deg til som venn. Du kan godta invitasjonen deres på:
http: // {{current_site}} {{invitation_page}}
{% Endblocktrans%}
De kontekstvariablene er gitt når du sender meldingen.
Sender Notification
Det er to forskjellige måter å sende ut varsler. Vi har støtte for blokkering og ikke-blokkerende metoder for å sende meldinger. Den enkleste måten å sende ut et varsel, for eksempel:
notification.send ([to_user], "friends_invite", {"FROM_USER": FROM_USER})
En ting å merke seg er at sending er en proxy rundt enten send_now eller kø. De har alle den samme signaturen:
sende (brukere, etikett, extra_context, on_site)
Parametrene er:
- Brukerne er en iterable av Bruker objekter for å sende meldingen til.
- Etiketten er etiketten du brukte i forrige trinn for å identifisere innkallingen type.
- Extra_content er en ordbok for å legge til egendefinerte kontekst oppføringer i malen som brukes til å gjengi meldeplikt. Dette er valgfritt.
- On_site er en boolsk flagg for å avgjøre om en Notice objekt opprettes i databasen.
send_now vs. kø vs. send
Lar først bryte ned hva hver enkelt gjør.
send_now
Dette er en blokkering samtale som vil sjekke hver bruker for elgibility av innkalling og faktisk peform på send.
køen
Dette er en ikke-blokkerende samtale som vil stå i kø kallet til send_now å bli henrettet på et senere tidspunkt. Til senere utføre samtalen du trenger å bruke emit_notices forvaltning kommandoen.
sende
En proxy rundt send_now og kø. Det får sin oppførsel fra en global innstilling som heter NOTIFICATION_QUEUE_ALL. Som standard er det False. Denne innstillingen er ment å bidra til å kontrollere om du vil kø ethvert kall til å sende.
sender også aksepterer nå og kø søkeord argumenter. Som standard hvert alternativ er satt til False å hedre global innstilling som er usant. Dette gjør det mulig å overstyre på en per samtale grunnlag om det skal ringe send_now eller kø.
Valgfri melding støtte
I tilfelle du ønsker å bruke varsling på din gjenbruk app, kan du vikle import av varsling i en betinget klausul som tester om det er installert før du sender en melding. Som et resultat av din app eller prosjekt fungerer fortsatt uten varsel.
For eksempel:
fra django.conf importinnstillinger
hvis "varsel" i settings.INSTALLED_APPS:
& Nbsp; fra varslingsimportmodeller som varsling
annet:
& Nbsp; varsling = None
og da, senere:
hvis melding:
& Nbsp; notification.send ([to_user], "friends_invite", {"FROM_USER": FROM_USER})

Krav :

  • Python
  • Django

Annen programvare fra utvikleren James Tauber

Pyjamas
Pyjamas

14 Apr 15

Symposion
Symposion

20 Feb 15

Kommentarer til incuna-notification

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!