目标1:实现 “我要提问”这个标签移动到 “等待回答”右侧
forum/skins/default/templates/header.html:20
forum/skins/nuxeo/templates/header.html:38
msgid "ask a question"
msgstr "我要提问"
先有base_content.html,再有base.html--->--->下面的包含或继承扩展上面的文件
header.html
base_content.html(包含header.html)
base.html(继承扩展base_content.html)
question.html(继承扩展base.html)
index.html(继承扩展question.html)
django 中文参考第十章* 回去看重要,【自定义模版库的创建和使用,里面讲了修饰器】
load 加载自定义(模版)标签
=================实现目标1只要注释下面即可=============================
forum\skins\default\media\style\style.css
注释:
/*
修改我要提问的布局
#nav a #nav_ask {
float: right;
color: #B02B2C;
font-size: 14px;
font-weight: bold;
text-decoration: none;
}
#nav a#nav_ask:hover
{
text-decoration: underline;
}
#nav a#nav_ask.on { color: #FFFFFF;}
*/
来修改“我要提问”的位置到其他tab一起。
====================================================================
2.右侧webfaction为 forum/settings/sidebar中的设置(自定义模版标签 )
自定义模版标签的相关文档可以查阅:The+Django+Book中文版.chm的第十章(深入模版引擎) 中有详细描述
自定义标签用法:
1.先load templatetags下的标签定义文件{% load general_sidebar_tags %}
2.然后 register.inclusion_tag('sidebar/user_blocks.html')修饰,并使用自定义标签{% sidebar_upper %}
{% sidebar_upper %} 在questions.html模版里增加这个标签,就可以显示一个div块
{% tag_selector %}
3.{% block %} 。所有的 {% block %} 标签告诉模板引擎,子模板可以重载这些部分。
附注: 这里的自定义模版用到了“包含标签”
3.settings目录下为网站的配置项目,以key---value的形式保存在数据库中,数据定义格式见settings/base.py中的SettingSet类
例如:右侧的侧边栏sidebar自定义标签,使用了settings中的sidebar.py配置,将静态内容保存在数据库中,而且根据Setting类的定义格式保存
当前有个疑问:一旦调用Setting类中的【name参数值不变default改变,页面的内容不变】,【name参数改变default改变,此时页面内容才会改变】,这是不是个bug有待深入研究,我觉得应该修改了default内容后,Setting类会自动修改name对应的值到数据库,这样才能跟新页面内容。
base.py中定义了 SettingSet(list) 和Setting(object)类
SettingSet(list)类有6个参数 SettingSet(name="",title="",description="",weight=1000,markdown=False,can_preview=False)
1.name:名称
2.title:标题
3.description:描述
4.weight=1000宽度
5.markdown:是否使用markdown语法
6.can_preview:是否可以预览的标记
Setting(object)类调用时有4个参数Setting(name="",default="",set=None,field_context=None),//name相当于key,
default相当于value(default的值为页面缺省内容)
1.name作为key
2.default=“默认内容”, type(default)为字符串类型
3.set=SIDEBAR_SET传入
SettingSet类型的对象,如:SIDEBAR_SET=SettingSet('sidebar name','content title','description',widget=10,True,can_preview=False)
4.field_context 为dict字典类型 dict(label="",help_text = "",require=False,widget=Textarea(attrs={'rows':'10'}))
用法,先定义SettingSet,然后用SettingSet构造Setting
4.第一个注册osqa站点的用户为管理员帐号,登录此帐号可以管理站点。
每天记录一点。
分享到:
相关推荐
安装OSQA步骤和所需软件【1】: python-2.6.2.msi easy_install:setuptools-0.6c11.win32-py2.6.exe Django-1.2.tar.gz OSQA安装全过程.doc 因每次只能上传20MB以内的文件,分批上传。
fantasy-island-0.9.0-beta3.tar.gz
OSQA Puppet 模块 该模块使用 Mysql 和 Apache 安装和配置 OSQA ( )。 从源安装最新的不稳定 osqa 模块 cd /etc/puppet/modules git clone git://github.com/Derpstack/puppet-module-osqa.git osqa cd osqa gem ...
奥斯卡 开放学习问题与解答
[原网页] 从LSM-Tree、COLA-Tree谈到StackOverflow、OSQA [原网页] 程序员编程艺术第一~二十七章集锦与总结(教你如何编程),及PDF免分下载 [原网页] 教你如何迅速秒杀掉:99%的海量数据处理面试题 [原网页] 程序员...
OSQA 平台主题。
坤吉卡 “它是由错误组成的软件。... Askbot可以替代OSQA,但是所有这些都变得商业化,这既糟糕又丑陋。 无法相信他们将开发开源版本多长时间。 DZone实际上使用开源社区来测试其产品,然后将其全部拿走。
Udacity 论坛在名为 OSQA 的免费开源软件上运行,该软件的设计类似于 StackOverflow 论坛。 基本结构是——论坛有节点。 所有节点都有一个 body 和 author_id。 顶级节点称为问题,也有标题和标签。 问题可以有答案...
界面相对来说较为清新,可定制程度较高,开源软件,基于python+django