2017-07-12 6 views
0

Ich versuche, Daten an einen TemplateTags namens order_details zu senden. Diese Templatetags suchen nach Informationen in der Datenbank und rendern dann die Informationsliste, die eine andere Vorlage aufruft. Wenn ich kurz vor der Rückgabe drucke, wird der HTML-Code in der Logdatei angezeigt. Aber nichts zeigt sich in der gerenderten Seite.Benutzerdefinierte Templatetags funktionieren nicht richtig

@register.filter 
def order_details(data): 
params = EParamCmd.objects.filter(command=data.id, default=False) 
dictfunction = {} 
for p in params: 
    if p.param.typ == 'function': 
     dictfunction[p.param.name_inf] = CustomFunction.objects.get(name_inf=p.value) 
t = get_template('Formulaire/order-details-params.html') 
c = {'params': params, 'func': dictfunction} 
LOG.info(t.render(c)) 
return str(t.render(c)) 

Die LOG.info zeigt den HTML-Code, in dieser Vorlage angezeigt werden soll:

{% load tags %} 
<h4>Liste des paramètres :</h4> 
     {{order|order_details}} 

Wenn ich 'Hallo' Rückkehr in den templatetags es zeigen.

Danke.

+1

Sie sollten den Inhalt von Bestelldetails-params.html anzeigen. Dies ist jedoch kein Job für einen Filter, sondern ein Job für das Template-Tag - speziell ein [inclusion tag] (https://docs.djangoproject.com/en/1.11/howto/custom-template-tags/#). Einschluss-Tags). Das wird dafür sorgen, dass die Vorlage für Sie mit den Daten gerendert wird. –

Antwort

0

Danke für die, die sich Zeit genommen haben zu antworten, aber es war ganz meine Schuld. Scheint so, als ob es einige Caches-Probleme an meinem Ende gäbe.

Entschuldigung.

Verwandte Themen