Sto cercando di automatizzare la creazione di qualcosa di simile:Django: creare array di input HTML utilizzando una forma Django
<input type='text' name='asdf[]' />
<input type='text' name='asdf[]' />
<input type='text' name='asdf[]' />
In bicicletta attraverso una gamma in forma. Ho provato cose come questa, insieme a diverse altre varianti:
# in a model class
for i in range(1, prim+1):
self.fields['asdf'] = forms.CharField(label=i)
# in the template
<form action='#' method='post'>
{{form.as_p}}
</form>
Ma non ho avuto fortuna però.
Come posso automatizzare una serie di ingressi?
** Modifica ** Per chiarire, alla fine ho bisogno di essere in grado di accedere ai campi nel modello come questo:
{% for input in form.fields.asdf %}
{{input}}
{% endfor %}
che poi si spera me ottenere la lista di input originale mostrata sopra .. .
Il loop sta creando un nuovo CharField con un'etichetta non valida (non può essere un numero intero) e sovrascrive self.field ['asdf']. Non sono sicuro di cosa stia cercando di fare. Intendi come usare l'attributo choice? –
Sì, quella versione particolare di esso appena sovrascrive. Ho avuto un codice più complicato prima di provare a creare elenchi e/o dizionari, ma non sono riuscito a farli funzionare. – Brant
Forse potresti rendere l'etichetta 'asdf' o qualcosa del genere, quindi eseguire il ciclo di tutti i campi, eseguendo l'output se '{% ifequal field.label 'asdf'%}' corrisponde, quindi usa 'forloop.counter' per mostrare 1, 2 , 3, ecc. Ho aggiornato la mia risposta qui sotto. –