Django-crowdsourcing is an MIT-licensed survey and report tool for journalists, supporting many types of survey questions and a wide variety of reporting options. A reusable Django application, it is designed to be installed easily in any Django site, including multi-site installations. Its surveys are entirely configured within the admin interface that ships with Django. While the primary focus of development is support for crowdsourcing projects, the survey tool is general purpose and can be used for a variety of applications. It is easy enough to handle simple polls with pie charts, yet powerful enough to handle complicated surveys with rich multimedia responses plotted on a map with custom icons.
Python 78.35%CSS 3.25%JavaScript 18.40%
django-crowdsourcing's Introduction
====================
django-crowdsourcing
====================
Django-crowdsourcing is an MIT-licensed survey and report tool for
journalists, supporting many types of survey questions and a wide
variety of reporting options. A reusable Django application, it is
designed to be installed easily in any Django site, including
multi-site installations. Its surveys are entirely configured within
the admin interface that ships with Django.
While the primary focus of development is support for crowdsourcing
projects, the survey tool is general purpose and can be used for a
variety of applications. It is easy enough to handle simple polls
with pie charts, yet powerful enough to handle complicated surveys
with rich multimedia responses plotted on a map with custom icons.
History/Credits
~~~~~~~~~~~~~~~
Django-crowdsourcing began life as a fork of Doug Napoleone's
`django-survey`_. Jacob Smullyan and James Richards started the project;
Dave Smith wrote most of the 1.x version.
.. _`django-survey`: http://code.google.com/p/django-survey/
Installation
~~~~~~~~~~~~
Prerequisites are:
* Django itself, of course -- 1.4 or better.
* `PIL`_
* `django-positions`_
* `sorl-thumbnail`_
* `flickrapi`_ (optional)
Django-crowdsourcing itself can be installed with `pip`_::
$ # probably in a virtualenv ...
$ pip install django-crowdsourcing
.. _`PIL`: http://pythonware.com/products/pil/
.. _`django-positions`: http://github.com/jpwatts/django-positions
.. _`sorl-thumbnail`: http://code.google.com/p/sorl-thumbnail/
.. _`pip`: http://pip.openplans.org/
.. _`flickrapi`: http://stuvel.eu/projects/flickrapi
Running The Example App
~~~~~~~~~~~~~~~~~~~~~~~
1. $ easy_install pip
2. $ pip install -r crowdsourcing_requirements.txt
3. $ pip install -r example_app/example_app_requirements.txt
4. By default the example app will use a sqlite db; if if you want to
change that, modify example_app/example_app/settings.py accordingly.
5. $ cd example_app
6. $ ./manage.py syncdb
7. $ ./manage.py runserver
8. Add some surveys in /admin/
Notes
~~~~~
1. Should work under Django 1.4
2. Only tested on Python 2.6
Documentation
~~~~~~~~~~~~~
Extensive documentation is included, or can be read `online`_.
.. _`online`: http://packages.python.org/django-crowdsourcing/
Other Resources
~~~~~~~~~~~~~~~
* Python Cheeseshop page: http://pypi.python.org/pypi/django-crowdsourcing
* Source code repository and ticket tracker: http://code.google.com/p/django-crowdsourcing/
* Discussion group: http://groups.google.com/group/django-crowdsourcing/
It doesn't seem that there is support for conditional questions. Such that later questions can depend on answers given to earlier questions. Any ideas on how to hack this?
Hi Guys,
I'm having this error when running the example app:
'crowdsourcing' is not a valid tag library: ImportError raised loading crowdsourcing.templatetags.crowdsourcing: No module named helpers