2010-05-11 7 views
0

Je veux personnaliser la page du projet (trac/templates/index.html).Comment lancer son propre script python dans Trac

Je souhaite utiliser une table pour afficher plus d'informations spécifiques au projet. Par exemple, la liste d'administration de chaque projet, le statut de construction de chaque projet. Ces informations sont stockées dans la base de données de trac.

J'ai peur que le moteur de template par défaut ne puisse pas me donner des informations. Au moins, je n'ai rien trouvé de précieux dans sa documentation. J'ai donc décidé d'écrire un script python (côté serveur) pour générer ces informations en tant que chaîne JSON. J'ai aussi injecté un morceau javascript pour récupérer le JSON de ce script python en utilisant Ajax.

Mais je ne sais pas comment interpréter mon script python par trac.

Quelqu'un peut-il m'aider?

Répondre

1

J'ai personnalisé le trac d'une manière plus simple en ajoutant un iframe en haut de toutes les pages du projet trac. Vous pouvez le faire en accédant au répertoire templates dans le répertoire d'environnement trac et en ajoutant un fichier site.html.

J'ai quelque chose comme:

<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:py="http://genshi.edgewall.org/" py:strip=""> 
    <!--! Custom match templates go here --> 
    <head py:match="head" py:attrs="select('@*')"> 
     ${select('*|comment()|text()[local-name()!="script"]')} 
     <link rel="stylesheet" type="text/css" href="http://mysite.com/nav.css" /> 
    </head> 

<body py:match="body" py:attrs="select('@*')"> 
    <iframe src ="http://mysite.com/nav.html" 
       width="100%" 
       id="navbar-iframe" 
       height="30px" 
       frameborder="0" 
       marginheight="0" 
       scrolling="no" 
       marginwidth="0"> 
      </iframe> 
    <div id="tdtracbody"> 
     ${select('*|text()')} 
    </div> 
    </body> 
</html> 
Questions connexes