Capisco che, per impostazione predefinita, Django popola automaticamente id per ogni campo modulo al rendering con il formato id_for_%s
. È possibile modificare il formato fornendo l'argomento auto_id
con un formato diverso come valore per il costruttore Form.Django: modifica l'ID DOM a livello di campo modulo
Tuttavia, non è esattamente quello che sto cercando. Quello che voglio realizzare è cambiare l'id di uno solo dei tanti campi nella mia forma. Inoltre, la soluzione non dovrebbe interrompere l'uso di form = MyForm(request.POST)
.
PS. MyForm è un modulo di modello, quindi ogni ID viene derivato dal relativo campo Modello corrispondente.
Grazie per l'aiuto.
Potrebbe farla franca con l'utilizzo di un classe? Questo è sicuramente molto più semplice e meno incline agli errori (è sufficiente modificare il widget). – sdolan
@sdolan - Ho dimenticato di dire che questa domanda riguardava la forma del modello. Sto cercando soluzioni diverse dal cambiare il nome del campo del modello. – tamakisquare
Non sarebbe necessario. Sta semplicemente aggiornando il widget del campo quando costruisci il 'ModelForm'. Se funzionasse, pubblicheremo una soluzione completa come risposta. – sdolan