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:

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
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
 
<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 -->
Si quelqu'un peut m'expliquer pourquoi le code HTML que retourne mon tag ne marche pas, cela m'intéresse. Merci d'avance