Как настроить файл 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")
Другие вопросы по тегам