J'ai un formulaire mako qui inclut une variable à transmettre en tant que valeur pour une balise masquée. D'une certaine façon, la variable n'est pas transmise correctement. Ce code a fonctionné avant, mais maintenant le HTML généré ne rend pas la valeur correctement.La variable Mako n'est pas passée correctement à la forme pyramidale
Code Mako:
<b>Create model at path</b>: ${ppath}
<%def name="direct_load_model_form(method, ppath)">
${h.tags.form(method, multipart=True, method='post', hidden_fields=[('ppath', ppath)])}
<b>Node Name: </b>${h.tags.text('node_name')}<BR>
<b>Parameters: </b>${h.tags.file('params_file', size=100)}<BR>
${h.tags.submit('submit', 'Create')}
${h.tags.end_form()}
</%def>
${self.direct_load_model_form(process_route, ppath)}
La fonction hidden_fields est de la bibliothèque helpers Web. Dans mes vues, j'essaie d'utiliser ppath
comme ppath = self.request.POST['ppath']
.
La variable ppath
s'affiche correctement dans la première ligne, mais pas lorsqu'elle est transmise comme valeur à un champ masqué. Ai-je besoin d'y échapper une autre fois ou quelque chose?
Ceci est le code html rendu:
<input type="hidden" value="" name="ppath">
Je ne pense pas que le problème soit avec Mako ici. C'est probablement la façon dont vous utilisez votre bibliothèque de formulaires, que vous ne spécifiez pas dans votre question. Pour vous aider à déboguer, vous pouvez essayer '$ {ppath}' dans votre def quelque part. De plus, vous pouvez écrire directement votre entrée cachée: ''. –
J'ai mis à jour ma question. Je suis à peu près sûr que le code du template a fonctionné avant. Je pense que je peux écrire l'entrée cachée directement, mais hidden_fields est une méthode très pratique quand j'ai plus d'une valeur. J'écrirais probablement ma propre méthode. – sutee
Pouvez-vous mettre en place une version simplifiée de votre code d'affichage afin que nous puissions voir comment vous passez réellement ppath au modèle et mentionnez quelle version d'assistants web vous utilisez? – BenTrofatter