首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自定义TRAC插件模板python文件

如何自定义TRAC插件模板python文件
EN

Stack Overflow用户
提问于 2014-07-09 16:05:05
回答 1查看 139关注 0票数 0

我目前正在将我们的TRAC实例修改为Bootstrap 3.1。但是,需要对.py文件进行一些模板化。我只知道如何定制.html文件...只需添加类,自定义一点DOM结构,然后将其放入我们的TRAC实例的templates文件夹。

现在如何从插件中定制.py文件呢?我试着把它们放在模板文件夹里,但是什么也没发生。

我没有使用Python的经验,但是它很容易修改并添加一个引导类,例如在milestone.py的标签中添加“col sm-2 control- label

代码语言:javascript
复制
    def __edit_project(self, data, req):
    milestone = data.get('milestone').name
    all_projects = self.__SmpModel.get_all_projects_filtered_by_conditions(req)
    id_project_milestone = self.__SmpModel.get_id_project_milestone(milestone)

    if id_project_milestone != None:
        id_project_selected = id_project_milestone[0]
    else:
        id_project_selected = None

    return tag.div(
                   tag.label(
                   class_="col-sm-2 control-label",
                   'Project',
                   tag.br(),
                   tag.select(
                   tag.option(),
                   [tag.option(row[1], selected=(id_project_selected == row[0] or None), value=row[0]) for row in sorted(all_projects, key=itemgetter(1))],
                   name="project")
                   ),
                   class_="field")
EN

回答 1

Stack Overflow用户

发布于 2014-07-14 11:47:02

重新编译这个插件对我来说很有效。在为特定的.py文件添加引导程序类之后,下面是我执行的步骤/命令:

在我正在编辑的插件的特定setup.py所在的TRAC环境插件目录中,构建.egg文件,例如

代码语言:javascript
复制
tracproject/plugins_source/sampleplugin: python setup.py bdist_egg

然后我在插件目录中重命名了插件的原始.egg文件。

代码语言:javascript
复制
tracproject/plugins/sampleplugin/: mv sampleplugin.egg sampleplugin.egg.old

之后,我将新生成的.egg文件复制到插件目录中

代码语言:javascript
复制
tracproject/plugins_source/sampleplugin/dist: mv sampleplugin.egg ../../../plugins/

最后,我重新启动了我们的服务器(例如,在某些情况下,不需要重新启动,因为更改会立即反映出来)

代码语言:javascript
复制
sudo service apache2 restart

谢谢@falkb!我看到你是SimpleMultiProject插件的作者,我正试着把引导类。:)

下面是我添加样式的简单多项目插件milestone.py的一个片段

代码语言:javascript
复制
    def __edit_project(self, data, req):
    milestone = data.get('milestone').name
    all_projects = self.__SmpModel.get_all_projects_filtered_by_conditions(req)
    id_project_milestone = self.__SmpModel.get_id_project_milestone(milestone)

    if id_project_milestone != None:
        id_project_selected = id_project_milestone[0]
    else:
        id_project_selected = None

    return tag.div(
                   tag.label('Project', class_="control-label col-sm-2"),
                   tag.div(
                   tag.select(
                   tag.option(),
                   [tag.option(row[1], selected=(id_project_selected == row[0] or None), value=row[0]) for row in sorted(all_projects, key=itemgetter(1))],
                   name="project",
                   class_="form-control"),
                   class_="col-sm-5"),
                   class_="form-group")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24648372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档