Skip to main content

Django app for creating a site with multiple areas to brainstorm ideas.

This app powers http://sunlightlabs.com/ideas/ and other similar sites.

django-brainstorm is a project of Sunlight Labs (c) 2009. Written by James Turk <jturk@sunlightfoundation.com>.

All code is under a BSD-style license, see LICENSE for details.

Source: http://github.com/sunlightlabs/django-brainstorm/

Requirements

python >= 2.4 django >= 1.0

Usage

  1. Add ‘brainstorm’ to your INSTALLED_APPS setting.

  2. Add a reference to brainstorm.urls somewhere in your urls.py:

    (r'^', include('brainstorm.urls')),  # something that looks like this
  3. Login to the django admin and create a subsite.

A subsite has a slug, name, description, theme, and a number of other options. The important two are theme and slug, slug dictates where the subsite will live and theme specifies the name of a theme template (see Creating Themes for details)

Creating Themes

A theme is represented by a single django template, currently kept at templates/themes/themename.html

Required Elements

The theme must include a content block that will be filled by the page, the theme should also include “idea_form.html” if you wish to use the generic idea submission form.

Example dynamic content block:

<!-- content -->
<div>
    <h2 id="secondLogo"><a href="http://mysite.com/subsite/">{{subsite.name}}</a></h2>
    <div id="featureBox">
        <p>project description</p>
    </div>

    <div id="ltColumn">
    {% block content %}
    {% endblock %}
    </div>

    <div id="rtColumn">
    <h3>Submit New Idea</h3>
        {% include "idea_form.html" %}
    </div>
    <div class="clear"></div>
</div>

Styling the Theme

Obviously the styling/design of the static portions of the theme is entirely within the hands of the designer. There are however a few dynamic sections which typically will need some form of styling.

index

The ‘content’ block of the index contains two divs: ‘div#ideas’ and ‘div#pagination’.

‘div#ideas’ contains an list where each li is a pair of div.btnVote and div.voteContent. When a div.btnVote has been voted up it will have the additional class ‘voted’ to allow for additional styling.

‘div.btnVote’ contains the link ‘a.vote_link’ for voting and ‘div.votes_counted’ for displaying the current vote total.

‘div.voteContent’ contains an <h3> with the idea title, a div.commentMeta with the idea’s submitter/date, and a <p> with the description.

idea

The content block of the idea page contains two divs: ‘div#idea’ and ‘div#comments’.

‘div#idea’ contains a single pair of ‘div.btnVote’ and ‘div.voteContent’ (see index for description of these elements)

‘div#comments’ contains an <h3> with the number of comments, then an ordered list where each <li> has the following elements:

  • div.commentMeta which contains span.commentMetaAuthor and span.commentMetaDate

  • div.commentContent which contains a <p> with the comment itself

(TODO: comment form)

Release files for django-brainstorm 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-brainstorm 0.2.1
File Size Uploaded
django-brainstorm-0.2.1.tar.gz 7.1 kB Details

Release files / django-brainstorm-0.2.1.tar.gz

Download URL django-brainstorm-0.2.1.tar.gz
Size 7.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f33687368d59455caf8d1c8ca3c1df60a83fec204b7a1b41c25828d3c71a2a8b
BLAKE2b-256 checksum
How to use checksums
85528579a41088552ade6bcd52edb92ea2fe1556867a28b6f56f683e2c567ae0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.1 This release

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page