Bonjour tout le monde.
J'ai récemment voulu créer mon propore tag pour mes templates, et je souhaitais que ce tag retourne du code HTML. Mais j'ai rencontré un probleme: Mon Tag retourne bien du code HTML et fonctionne correctement. Et le code que je retourne etait censé créer un ou deux liens vers d'autres pages de mon site. Mais les liens provenant du code que retourne ne fonctionnent pas. Au lieu d'avoir une URL avec quelque chose du genre CTAproposal/new_proposal ou CTAproposal/my_proposal (comme quand les liens sont directement coder dans mon template) je me retrouve avec une URL un peu comme celle ci /CTAproposal/%7B%.
Du coup Django ne retrouve pas cette URL dans mes urls.py et mon site plante lamentablement![]()
Voici le code de mon tag:
Et le partie de code de mon template concernée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 @register.tag def onglet_html_tag(parser, token): try: nom_tag = token.split_contents() except ValueError: msg = 'The tag %s have a error' % token.split_contents()[0] raise template.TemplateSyntaxError(msg) return onglet_html_node() class onglet_html_node(template.Node): def render(self, context): opt1 = "<li><a href={% url 'proposal:newProposal' %}>New Proposal</a></li>\n<li><a href={% url \ 'proposal:proposalStatus' %}>My Proposals</a></li>" opt2 = "<li><a href={% url 'proposal:proposalStatus' %}>My Proposals</a></li>" today = datetime.now() if today < settings.END_CALL and today > settings.START_CALL: return opt1 else: return opt2
Si quelqu'un peut m'expliquer pourquoi le code HTML que retourne mon tag ne marche pas, cela m'intéresse. Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Proposal<span class="caret"></span></a> <ul class="dropdown-menu" role="menu"> {% onglet_html_tag %} </ul> </li><!-- dropdown Proposal -->![]()
Partager