Skip to main content

Django application that allows you to easily get user feedbacks. Users need to be registrated via django.contrib.auth.

Project description

=====================================
django-simple-feedback (django-simple-feedback)
=====================================

.. image:: https://secure.travis-ci.org/Narsil/django-simple-feedback.png

This `Django <http://djangoproject.com>`_ app has for purpose to integrate easily user based feedback.
It aims to be easily added into existing projects and pretty on any website.

NEW in master
~~~~~~~~~~~~~
master version is now operational for Django-1.3 with `collectstatic <https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#collectstatic>`_
This will break backward compatibility, branch django-1.2.5 is the last working
state for Django-1.2.5

Installation
============

Depedencies
~~~~~~~~~~~

django-simple-feedback requires jQuery, and it includes it in its static files.

Installing django-simple-feedback
~~~~~~~~~~~~~~~~~~~~~~~~~~

Install into your python path using pip or github version::

pip install django-simple-feedback
pip install -e git://github.com/Narsil/django-simple-feedback

Add *'feedback'* to your INSTALLED_APPS in settings.py, also make sure *'django.core.context_processors.request'* is in your TEMPLATE_CONTEXT_PROCESSORS::

INSTALLED_APPS = (
...
'feedback',
)
....
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.request'
)

Add css and javascript in your *'base.html'* template (jQuery is optional if you already include it in your project)::

<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}feedback/css/feedback.css" />

<script type="text/javascript" src="{{ STATIC_URL }}feedback/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}feedback/js/feedback.js"></script>

And then in templates where you want feedback to appear::

{% load feedback_tags %}
....

{% feedback %}

Add *'(r'^feedback', include('feedback.urls')'* to your urls::

urlpatterns = patterns( '',
....
(r'^feedback', include('feedback.urls'),
)

Don't forget to run ::

./manage.py syncdb

to create the table that is going to receive the feedbacks.

Receiving mail of feedbacks
~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you wish to receive mail when someone posts some feedback then you need to
configure these which are the defaults::

FEEDBACK_SEND_MAIL = True
FEEDBACK_FROM = 'feedback@example.com'
FEEDBACK_REPLY_TO_USER = True
FEEDBACK_TO = map(lambda x:x[1], settings.MANAGERS) (should be managers emails)
FEEDBACK_SUBJECT = '[feedback] %(path)s'
FEEDBACK_BODY = '%(feedback)s'

In `FEEDBACK_SUBJECT` and `FEEDBACK_BODY` you are able to customize the text.
each string is formatted with a dict containing information on the feedback.
Dict is::

{'id': 42,
'feedback': 'This is a random comment made by random person',
'path': 'url the feedback was made on',
'user': User object,
'request': request object, # You can access IP and USER_AGENT via request.
...} # You can access any data sent by your form here so you can customize at will
# By just sending additional field in the form.

Other settings are::

FEEDBACK_ASK_EMAIL = False

Asks user to write his email when it is missing from his account.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-simple-feedback-0.2.10.tar.gz (88.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page