An experiment in mixing up django and twisted
Python JavaScript
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
chat configured django authentication. Nov 6, 2013
twisted_chat now serving django as wsgi service, via twisted Nov 6, 2013 Update Sep 5, 2013

Partially implemented chat server.

(An experiment in using twisted with websockets, with a site served by Django.)

(Django serves the static/http pages, by default on port 8000 on localhost, while twisted handles the chat server, by default on port 1025 on localhost)


  • Start this as a standard django project (./ runserver)
    • don't forget to do fun things like syncdb before starting
  • Create a chat room through django's admin interface (localhost:8080/admin/)
  • "twistd -y", though probably "twistd -n -y" is more appropriate since you're likely not going to use this for production at any time

To see the chat service in action:

  • a list of existing chat rooms is at localhost:8000/chats
  • chat over websockets at localhost:8000/chats/[room_id]
  • chat over HTTP, with a long-polling service, at localhost:8000/chats/long_poll/[room_id]


Note that I'm relying on the websockets branch (I used websocket-4173-4) of twisted, so make sure to install that (I don't think it's merged into the main branch yet)

See requirements.txt for versions of dependencies.

I've been running things in a standard python2.7 virtualenv, with pip for package management


  • Integrate twisted and django authentication
  • have twisted log chats to django's database
  • nice ui for creating chat rooms, etc....