Как настроить файл Python шаблона плагина TRAC
В настоящее время я модифицирую наш экземпляр TRAC до Bootstrap 3.1. Тем не менее, некоторые шаблоны должны быть сделаны для файлов.py. Я знаю только, как настроить файлы.html... просто добавьте классы, немного измените структуру DOM и поместите ее в папку шаблонов нашего экземпляра TRAC.
СЕЙЧАС, КАК О настройке.py файлов из плагинов? Я пытался положить их в папку с шаблонами, но ничего не произошло.
У меня не было опыта работы с Python, но легко взломать и добавить класс начальной загрузки, например, добавив "col-sm-2 control-label" в метку в 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(
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")
1 ответ
Компиляция плагина снова сработала для меня. После добавления классов начальной загрузки для определенных файлов.py, вот шаги, которые я сделал:
В нашем каталоге плагинов среды TRAC, в котором находится файл setup.py редактируемого мной плагина, создайте файл.egg, например:
tracproject/plugins_source/sampleplugin: python setup.py bdist_egg
Затем я переименовал оригинальный файл плагина.egg в каталог плагинов, например
tracproject/plugins/sampleplugin/: mv sampleplugin.egg sampleplugin.egg.old
После этого я скопировал созданный файл.egg в каталог плагинов, например
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")