Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A simple user feedback application for your Django project
Python CSS JavaScript
Latest commit 729d1bb @gkmngrgn fix travis.



django-voice integrates user feedback with your Django project. Originally built for Verb (

IMPORTANT: Upgrading to 0.4 from older versions

If you upgrade django-voice to 0.4 from older versions, you will take an error about database changing:

DatabaseError at /feedback/

no such column:

You have two ways for fixing the problem.

If you want to use South..

Fake the first migration and run the second migration:

python migrate --fake djangovoice 0001
python migrate djangovoice

If you don't want to use South..

Open your SQL shell and add email column to djangovoice_feedback:

python dbshell

sqlite> ALTER TABLE "djangovoice_feedback" ADD COLUMN "email" varchar(75) NULL;
sqlite> ALTER TABLE "djangovoice_feedback" ADD COLUMN "slug" varchar(10) NULL;

That's it..

Installation and Dependencies

To satisfy dependencies listed in REQUIREMENTS you can simply run this command:

pip install -r requirements.txt

'pip' will automatically download and install dependencies required for django-voice. Next step is activating helper applications to run.

  • Activate django's comment system. (
  • Add django-gravatar (optional) and qhonuskan-votes to your INSTALLED_APPS in settings file.
  • Add comments and django-voice to your url configration.
  • Create at least one Type and Status either through the admin or fixtures.

After these steps, your INSTALLED_APPS in must be seen like this:

    'gravatar',  # it's optional dependency

and like this:

urlpatterns = patterns(
    url(r'^comments/', include('django.contrib.comments.urls')),
    url(r'^feedback/', include('djangovoice.urls')))

If you're using Django 1.6> contrib.comments is deprecated and you can use the forked project: Follow those instructions. Of course your now looks like this:

urlpatterns = patterns(
    url(r'^comments/', include('django_comments.urls')),
    url(r'^feedback/', include('djangovoice.urls')))

Remember to create and save at least one Type and Status model instance.

That's all you need to run django-voice.


  Allow anonymous user to submit feedback. Asks for email and marks
  the feedback as private to hide the email and prevent spam.

VOICE_BRAND_VIEW (default: 'djangovoice_home')
  The view associated with clicking the brand logo in the top left
  of the bootstrap navbar.


DjangoVoice was originally created by Huw Wilkins (


Something went wrong with that request. Please try again.