Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Django Vestlus

vestlus is a django chat app with support for private and public channels.

PyPI - License PyPI - Version PyPI - Python Version PyPI - Downloads Github - Issues


Use of vestlus requires:

  • django-polymorphic: used to handle inheritance between message models.
  • django-crispy-forms: used for better formatting of forms in templates.
  • django-restframework: used to provide REST api support.
  • django-haystack: used to handle searching across channels and messages.

Those apps will need to be installed in the INSTALLED_APPS tuple of your django project.


The app is split into three main models:

  • channel: channels allow for group conversations. Any message sent to a channel is visible to every member of the channel. Channels can be either public or private.
  • membership: memberships allow users to join, leave, and administer channels. Owners and admins can manage channel memberships.
  • message: all messages are private (self to self); private (shared with somebody else); or


  1. Add vestlus to your INSTALLED_APPS setting like this::
        # other apps...

Alternatively, you can also add this app like so::

        # other apps...
  1. Include the polls URLconf in your project like this::
    path('chat/', include('vestlus.urls', namespace='vestlus')),

2.1. Optionally, you can also add the api endpoints in your project like so::

    path('api/', include('vestlus.api', namespace='vestlus_api')),
  1. Run python migrate to create the app models.

  2. Start the development server and visit to start a add chat groups and messages (you'll need the Admin app enabled).

  3. Visit to use the app. You should have the following urls added to your url schemes::<slug:slug><slug:channel>/messages/<slug:slug>/delete<slug:slug>/delete<slug:slug>/messages/new/<slug:slug><slug:slug>/new/<slug:slug><slug:slug>/delete

5.1. If you've included the api urls as well, you can visit the endpoints by visiting::<pk><uuid><pk>/messages<uuid>/messages<pk><uuid><pk>


vestlus is BSD-Licensed.

Built with django-clite.

Developed and maintained by Leo Neto