Django头脑风暴网站
django-brainstorm的Python项目详细描述
Django应用程序,用于创建一个具有多个区域的网站,以集思广益。
这个应用程序为http://sunlightlabs.com/ideas/和其他类似的站点供电。
Django Brainstorm是Sunlight Labs(C)2009的一个项目。 作者:james turk<;jturk@sunlightfoundation.com>;。
所有代码都在bsd样式的许可证下,有关详细信息,请参见许可证。
来源:http://github.com/sunlightlabs/django-brainstorm/
要求
Python=2.4 django>;=1.0
用法
将“brainstorm”添加到您的INSTALLED_APPS设置中。
在url中的某处添加对brainstorm.urls的引用。py:
(r'^', include('brainstorm.urls')), # something that looks like this
登录到django管理员并创建子网站。
子网站有slug、名称、描述、主题和许多其他选项。最重要的两个是theme和slug,slug指示子站点的位置,theme指定主题模板的名称(有关详细信息,请参见Creating Themes)
创建主题
主题由单个django模板表示,当前保存在templates/themes/themename.html中
必需元素
主题必须包含一个将由页面填充的内容块,如果您希望使用通用的创意提交表单,则主题还应包含“idea_form.html”。
动态内容块示例:
<!-- 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>
设置主题样式
显然,主题静态部分的样式/设计完全在设计师的手中。 然而,有一些动态部分通常需要某种形式的样式。
索引
索引的“content”块包含两个div:“div ideas”和“div pagination”。
“div ideas”包含一个列表,其中每个li是div.btnvote和div.votecontent的对。当div.btnvote被投票通过时,它将有额外的类“投票”以允许额外的样式。
“div.btnvote”包含用于投票的“a.vote”链接和用于显示当前投票总数的“div.vots”链接。
“div.votecontent”包含一个带创意标题的<;h3>;,一个带创意提交人/日期的div.commentmeta,以及一个带描述的<;p>;。
想法
idea页面的内容块包含两个div:“div idea”和“div comments”。
“div idea”包含一对“div.btnvote”和“div.votecontent”(有关这些元素的说明,请参见index)
“div comments”包含一个带有注释数的<;h3>;,然后是一个有序列表,其中每个<;li>;包含以下元素:
- 包含span.commentmetaauthor和span.commentmetadate的div.commentmeta
- div.commentcontent,其中包含带有注释本身的<;p>;
(待办事项:评论表)