Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
This program is licensed under the AGPL version 3, see file headers and the
AGPL-3.0 file for details.

The SelectCandidateWidget is an AGPLv3 derivative of Django's
SelectCheckboxMultiple, which was originally licensed under a BSD-style license.
See the header of vote/ for details.

To install with symbolic links:
 1. Symbolic link to the contents of vote/media, from the root of your MEDIA_DIR. 
 2. Symbolic link to the contents of vote/templates, from the root of your
 3. Follow the GenericInstall instructions below.

To install by copying:
 1. Copy the contents of vote/media/ to the root of your MEDIA_DIR.
 2. Copy the contents of vote/templates/ to the root of your TEMPLATE_DIR
 3. Follow the GenericInstall instructions below.

GenericInstall instructions:
 1. Precede with ``To install with symbolic links'' or ``To install by
 2. Add the following line to urlpatterns in your site's
    (r'^accounts/login/$', 'django.contrib.auth.views.login'),
 3. Add the following line to urlpatterns in your site's
    (r'^admin/vote/results/', ''),
    making sure it precedes the following:
 4. Add 'from vote.settings import *' to your site's . See comments
    in vote.settings for vote settings documentation.
 5. To compile translations, run the following command from the vote
    application's directory: compilemessages
 6. To compile API documentation, run epydoc on the vote package.

Howto use:
 1. Install and configure the vote application and enable the admin interface
    if it has not already been done.
 From the admin interface:
 2. Create voting groups. Since this application was written mainly for Student
    council elections, groups represent groups of students who can vote for a
    certain position. Example, only Grade 10, 11 and 12 students (``Grade
    10--12'' Group) can vote for the ``Grade 10--12 representative'' position.
 3. Create positions, filling in the requested information and selecting the
    groups that may for for the created positions.
 4. Create candidates for each position. You may optionally upload a picture.
 5. Create the desired amount of voters in each group and print the list of
    created voters.
 On election day:
 6. Have the voters queue. Once they have supplied credentials, randomly select
    a UUID from the UUIDs created for their group and direct them to logon to
    the UUID login page ('http://123.456.789.012/vote/' by default) and to
    select their candidates. Inform them that they must thoroughly ensure that
    they have correctly selected their choices before submitting since it is
    impossible to uncast a vote.
 After the elections:
 7. You may view the election results at any time by visiting
    /admin/vote/results/ .


cevote — student council e-election program. My first project, you probably shouldn't bother trying to use it.






No releases published


No packages published