我目前正在修改我们的TRAC实例为Bootstrap 3.1。但是,需要对.py文件进行一些模板化。我只知道如何自定义。html文件…只需添加类,自定义DOM结构,然后把它放在我们的TRAC实例的模板文件夹。
现在如何从插件中定制.py文件?我试着把它们放到模板文件夹里,但是什么也没发生。
我没有使用Python的经验,但是可以很容易地修改并添加一个引导类,例如在milestone.py中的标签中添加"col-sm-2 control-label"
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")
再次编译插件为我工作。在特定的.py文件上添加引导类之后,我执行了以下步骤/命令:
在我正在编辑的插件的特定setup.py所在的TRAC环境插件目录中,构建.egg文件,例如
tracproject/plugins_source/sampleplugin: python setup.py bdist_egg
然后我在plugins目录中重命名插件的原始。egg文件,例如
tracproject/plugins/sampleplugin/: mv sampleplugin.egg sampleplugin.egg.old
之后,我将新生成的.egg文件复制到plugins目录,例如
tracproject/plugins_source/sampleplugin/dist: mv sampleplugin.egg ../../../plugins/
最后,我重新启动了我们的服务器,例如(然而,有些情况下,不需要重新启动,因为更改立即反映)
sudo service apache2 restart
谢谢@falkb !我看到你是SimpleMultiProject插件的作者,我试图把引导类。:)
下面是simplemultiprojectplugin milestone.py的代码片段,我在其中添加了样式
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")