django-activiteiten-stream is een manier van het creëren van de activiteiten die door de acties op uw site & nbsp;. Activity gebeurtenissen worden gecategoriseerd door drie hoofdcomponenten.
& Nbsp; * Acteur. Het object dat de actie uitgevoerd.
& Nbsp; * Verb. Het werkwoord zin van de uitgevoerde actie.
& Nbsp; * Target. (Optioneel) Het object dat het werkwoord wordt vastgesteld op.
Acteur en Target zijn GenericForeignKeys elk ander willekeurig Django object. Een activiteit is een beschrijving van een actie die werd uitgevoerd (Verb) op een bepaald moment in de tijd door sommige Acor, met een aantal optionele Target.
Nomenclatuur van deze specificatie is gebaseerd op de Atom Activity Extension.
Installatie:
Actstream toe te voegen aan uw INSTALLED_APPS:
INSTALLED_APPS = (
& Nbsp; ...
& Nbsp; 'actstream',
& Nbsp; ...
)
Voeg de activiteit urls:
urlpatterns = patronen ('',
& Nbsp; ...
& Nbsp; ('^ activiteit /', onder meer ('actstream.urls')),
& Nbsp; ...
)
Het genereren Acties
Genereren van acties is waarschijnlijk het best in een apart signaal:
van django.db.models.signals import pre_save
van actstream import actie
van myapp.models import MyModel
def my_handler (afzender, ** kwargs):
& Nbsp; action.save (afzender, werkwoord = 'gered')
pre_save.connect (my_handler, afzender = MyModel)
Om een actie overal te genereren in uw code, gewoon de actie signaal importeren en stuur het met uw acteur, werkwoord, en doelgroep:
van actstream import actie
action.send (request.user, werkwoord = 'bereikt level 10')
action.send (request.user, werkwoord = 'samengevoegd', target = groep)
Na Acteurs
Het genereren van de koppeling tussen een gebruiker en een bepaalde acteur is net zo eenvoudig als het aanroepen van een functie:
van actstream import follow
volgen (request.user, groep)
Je kunt ook gewoon een GET-verzoek naar de actstream_follow uitzicht:
GET / activiteit / volgen /
Dan is de huidige ingelogde gebruiker zal de acteur gedefinieerd door content_type_id & object_id volgen. Optionele volgende parameter is URL doorsturen.
Activiteitsfeeds
Advertenties van activiteiten zijn beschikbaar voor verschillende standpunten. Alle worden naargelang -timestamp:
van actstream import actor_stream, user_stream, model_stream
Activiteiten door acteur:
actor_stream (acteur)
Activiteiten van Django Model:
model_stream (model)
Activiteiten van actoren die een bepaalde gebruiker is folowing:
user_stream (gebruiker)
Eisen
- Python
- Django
Reacties niet gevonden