Come riferimento l’ultimo elemento di una lista in un Django modello? {{ list.-1.key }}

se ho una variabile in un contesto di lunghezza sconosciuta, per esempio;
list=[{'key':'A'},{'key':'B'},{'key':'C'}]

Come posso ottenere l’ultimo oggetto? {{ list.0.key }} opere per la prima, ma {{ list.-1.key }} dà;
Could not parse the remainder: '-1.key' from 'list.-1.key'

InformationsquelleAutor Jake | 2011-01-19

 

6 Replies
  1. 61

    Grazie a tutti per l’aiuto, che mi portano alla realizzazione che posso usare il con tag.

    {% with list|last as last %}
        {{ last.key }}
    {% endwith %}
    • Funziona anche con fetta se si desidera qualcosa di diverso ultimo elemento: {% with list|slice:":-2" as my_var %}
    • Errore: Negative di indicizzazione non è supportato. Django v. 1.7
    • funziona in jinja2?
  2. 29

    Utilizzare il ultimo template tag:

    {{ value|last }}

    Se il valore è l’elenco ['a', 'b', 'c', 'd'], l’uscita sarà la stringa "d".

    • {{ list|last.key }} => Could not parse the remainder: '.key' from 'list|last.key'
    • Ho trascorso un enorme mezz’ora alla ricerca per questo. Grazie! Cordiali saluti questo sembra essere praticamente l’unico modo per ottenere l’ultimo elemento di una xrange oggetto in Python 2. make_list e slice filtri e loro combinazioni di tutti per vari motivi.
    • più soluzione aggiornata e compatibile con le assegnazioni più sul with blocco
  3. 7

    Nel mio caso ho trovato questa soluzione: {{object_list.last.id}}
    molto utile su di espressione come questa: {% url 'my-url' object_list.first.id object_list.last.id %}

  4. -3

    Utilizzare questo pezzo di codice nel template:

    {{ list|slice:":-1".items.0.0 }}
    • {{ list|slice:":-1".key }} => Could not parse the remainder: '.key' from 'list|slice:":-1".key'
    • Utilizzare il codice modificato risposta.
    • Impossibile analizzare il resto: ‘.elementi.0.0’ dal ‘elenco|slice:”:-1″.elementi.0.0’
    • Il slice modello di tag, inoltre, non supporta valori negativi.

Lascia un commento