followit

A Django application that allows users to follow django model objects


Keywords
follow, database, django
License
BSD-3-Clause
Install
pip install followit==0.0.2

Documentation

Build Status

The followit django app allows for the site users to follow various instances of Django models, represented by django model followit.models.FollowRecord using the django.contrib.models.ContentTypes system.

Release Notes

The list below shows compatibility of django-followit with versions of Django and Python. Python version compatibility was thoroughly tested only with release `0.4.0`:

* ``0.4.x`` supports django versions from 1.7(**) up to 3. Python 2 and 3.
* ``0.3.x`` - django 1.9 - 1.11
* ``0.2.x`` - django 1.8
* ``0.1.x`` - django 1.7
* ``0.0.9`` can be used for the earlier versions

(**) versions 0.4.x do not support Django 1.7 with Python 3.

Setup

To the INSTALLED_APPS in your settings.py add entry 'followit'.

Run python manage.py migrate followit

Then, in the body of AppConfig.ready method, add:

import followit
followit.register(Thing)

Not it will be possible for the user to follow instances of SomeModel.

If you decide to allow following another model, just add another followit.register(...) statement.

Usage

Examples below show how to use followit:

bob.follow_thing(x)
bob.unfollow_thing(x)
things = bob.get_followed_things()
x_followers = x.get_followers()

To follow/unfollow items via the HTTTP, make AJAX post requests at urls, available urls followit/urls.py:

/follow/<model_name>/<item_id>/
{% url follow_object "somemodel" item_id %} #model name lower case

/unfollow/<model_name>/<item_id>/
{% url unfollow_object "somemodel" item_id %} #lower case model name

/toggle-follow/<model_name>/<item_id>/
{% url toggle_follow_object "somemodel" item_id %} #lower case model name