有谁知道如何将“可用项目”页面上的项目列表拆分为活动和已归档项目列表?目前它们都列在一起,我有大量的项目,因此很难确定只有活跃的项目。
我不是网络开发人员或python专家,所以我很欣赏简单易懂的答案。
提前致谢。
答案 0 :(得分:1)
项目索引can be customized。您需要一个标准,将项目分组为活动和存档。 Here您可以看到为每个项目列出的变量。您可以在config/trac.ini
文件中为每个项目添加一个值,例如[project] archived = true
,并在呈现项目索引时读取该值,以确定列出项目的组 - 活动与归档。可以使用env.config.get('project', 'archived')
读取该值。
这是一个概念验证。
创建4个项目并将其中2个设置为 archived :
$ mkdir projects && cd projects
$ virtualenv pve
$ source pve/bin/activate
$ pip install trac
$ mkdir environments && cd environments
$ for i in `seq 1 4`; do
trac-admin env$i initenv "Project $i" sqlite:db/trac.db
done
$ trac-admin env3 config set project archived true
$ trac-admin env4 config set project archived true
在projects/index.html
中添加以下内容:
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:py="http://genshi.edgewall.org/"
xmlns:xi="http://www.w3.org/2001/XInclude">
<head>
<title>Available Projects</title>
</head>
<body>
<h1>Active Projects</h1>
<ul>
<li py:for="project in projects"
py:if="not project.env.config.get('project', 'archived')"
py:choose="">
<a py:when="project.href" href="$project.href"
title="$project.description">$project.name</a>
<py:otherwise>
<small>$project.name: <em>Error</em> <br /> ($project.description)</small>
</py:otherwise>
</li>
</ul>
<h1>Archived Projects</h1>
<ul>
<li py:for="project in projects"
py:if="project.env.config.get('project', 'archived')"
py:choose="">
<a py:when="project.href" href="$project.href"
title="$project.description">$project.name</a>
<py:otherwise>
<small>$project.name: <em>Error</em> <br /> ($project.description)</small>
</py:otherwise>
</li>
</ul>
</body>
</html>
运行TracStandalone:
$ cd projects
$ TRAC_ENV_INDEX_TEMPLATE=`pwd`/index.html tracd -r -p 8001 --env-parent-dir=environments
结果是: