Sto passando al modello di Django una funzione, che restituisce alcuni record. Voglio chiamare questa funzione e scorrere il suo risultato.Come chiamare la funzione che accetta un argomento in un modello Django?
{% for item in my_func(10) %}
Che non funziona. Ho provato a impostare il valore di ritorno della funzione su una variabile e a scorrere sulla variabile, ma sembra che non ci sia modo di impostare una variabile in un modello Django.
C'è un modo normale per farlo?
Molto triste. Mi piacerebbe avere un modo più semplice. – cleg
Penso che la soluzione con il builtin python '@ property' sia la soluzione migliore, ovviamente, a seconda della situazione. – jrast
sì, tuttavia ciò non risolve il problema. Django chiama automaticamente le funzioni se non richiedono argomenti.Scrivere '{% per l'elemento in myfunc%}' è equivalente a 'per l'elemento in myfunc()' se myfunc è una funzione senza argomenti. L'unica vera restrizione con django è chiamare una funzione che richiede argomenti, che '@ property' non risolve (anche se ammettiamolo potresti impostare alcuni attributi nel template e usarli come argomenti, ma non è particolarmente pulito) – matts1