Inserisci qui la tua pubblicità

Aggiungere l’autocompletamento a un campo di input in Django

django - datalist

 

 

Introduzione: In questo articolo, esploreremo come aggiungere la funzionalità di autocompletamento a un campo di input in un’applicazione web Django. L’autocompletamento consente agli utenti di selezionare rapidamente opzioni da un elenco predefinito mentre digitano nel campo di input. Utilizzeremo l’elemento HTML5 datalist per creare un menu a discesa di opzioni che verranno popolate da un database.

Passaggi principali:

  1. Creazione del modello: Inizieremo creando un modello nel nostro progetto Django. Questo modello rappresenterà i dati che vogliamo utilizzare per l’autocompletamento.

  2. Popolamento del database: Successivamente, popoleremo il nostro database con i dati necessari per l’autocompletamento. Ad esempio, se stiamo creando un campo di input per i nomi degli utenti, inseriremo i nomi degli utenti nel database.

  3. Vista e template: Creeremo una vista che recupera gli oggetti dal database e li passa al template. Nel template, aggiungeremo un campo di input e l’elemento datalist. Popoleremo le opzioni dell’elemento datalist con i dati dal database.

  4. Implementazione nel template: Nel nostro template, aggiungeremo un campo di input e l’elemento datalist. Utilizzeremo il tag input con l’attributo list per collegare l’input all’elemento datalist. Le opzioni dell’elemento datalist saranno generate dinamicamente dal database.

Codice di esempio:

<!-- Nel template -->
<form method="post">
    <label for="user_input">Nome utente:</label>
    <input type="text" id="user_input" name="user_input" list="usernames">
    <datalist id="usernames">
        {% for user in users %}
            <option value="{{ user.username }}">
        {% endfor %}
    </datalist>
    <input type="submit" value="Cerca">
</form>

 

# Nel view.py
from django.shortcuts import render
from .models import User

def autocomplete_view(request):
    users = User.objects.all()
    return render(request, 'autocomplete_template.html', {'users': users})

Conclusioni: L’autocompletamento è un’ottima funzionalità per migliorare l’esperienza dell’utente e semplificare l’inserimento dei dati. Con l’elemento datalist di HTML5 e Django, possiamo implementare facilmente questa funzionalità nei nostri progetti web.

[email protected]