Skip to content
IM-like application for Pinax social networks (Django), that allow you to see which friends are online and chat them
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



IM-like application for Pinax social networks (Django), that allow you
to see which friends are online and chat them


Read INSTALL to learn how to install django-instantmessage in a Pinax site.
If you want to learn more about the individual applications, please
refer to the README files:

Note that this code is designed for Pinax social networks
( This code was built against Pinax 0.7.1,
and tested on "socialproject" in Pinax 0.7.1 and 0.7.2. It might be
possible to take the two applications (pinax-im-dist/apps/im and
pinax-im-dist/apps/useractivity), and separate them into separate
distributions, for use with generic Django sites, not just Pinax ones. I
am not experienced with Django packaging, and I encourage other users
to experiment with using this code for non-Pinax Django site, and
re-releasing it.

This code was written by Sergei Lebedev
is copyright (c) 2010, Joseph Turian, and is released under the MIT

    * If, instead of replying to the chat request, you navigate to
    another page, you lose the chat request. Then, that user cannot
    re-chat request you. But if you navigate to another page, the chat
    request window should stay.

    * If you have multiple windows open and someone chats you, only one
    window gets the chat request. Instead, they should all offer you
    the chat request. (And, if you accept or decline the chat request
    in one window, the chat request box should then disappear in all
    the windows.)

    * The Chat list should stay at the bottom of the screen, even if
    you scroll down on the page. However, if you look at a page that
    is taller than the one screen height, and you scroll down, the chat
    box will move up with the screen.

    * There's one issue with the ui code currently: user groups get
    collapsed after the userlist is updated. This is the result of having
    all templates rendered on server (which is kind of important in my
    opinion, because you don't have to modify js-code to get a different
    reprentation of something). I don't think it's critical, since most
    of the time the chatbox will be hidden from the users and hardly
    anyone will notice, but the issue is there, and I'm not sure of a
    good way to fix it.

    If you look at this git revision:
    you will see the last version of the code before we started using
    the database in the applications.

    It used to be the case that, to avoid hitting the database
    often, the original version of this code used Celery
    (, a distributed queue that sits on
    the RabbitMQ AMQP messager broker (

    However, it was to tricky to find bugs in the application, and seemed
    like an instance of premature optimization. So, the current version
    of the code uses the database in both apps.
Something went wrong with that request. Please try again.