Un particolare contenuto di qualsiasi sito viene normalmente recuperato dagli utenti tramite Google Search. Tuttavia, se questa opzione di ricerca è implementata sul sito Web, gli utenti possono facilmente trovare il contenuto desiderato all'interno del sito senza utilizzare Google Search ... Un altro vantaggio per l'aggiunta di un'opzione di ricerca all'interno di un sito Web è che lo sviluppatore può gestire correttamente l'output di ricerca. Ciò significa che può controllare quale contenuto del sito apparirà o no. Questo tutorial mostrerà il processo di implementazione della ricerca di base nel sito di Django.
Prerequisiti:
Prima di praticare la sceneggiatura di questo tutorial, devi completare le seguenti attività:
Imposta un'app Django:
Esegui il comando seguente per creare un'app Django denominata SearchApp.
$ Python3 Gestisci.Py Startapp SearchApp
Esegui il comando seguente per creare l'utente per accedere al database Django. Se hai creato l'utente prima, non è necessario eseguire il comando.
$ Python3 Gestisci.py createsuperuser
Aggiungi il nome dell'app nella parte installata_app delle impostazioni.Py File.
Installato_apps = [Crea una cartella denominata Modelli all'interno della cartella SearchApp e imposta la posizione del modello dell'app nella parte dei modelli delle impostazioni.Py File.
Modelli = [Crea modelli:
Modifica i modelli.File PY con il seguente script. Qui, sono state definite due classi per creare due tabelle relazionali denominate BookTypes e libri. Il campo TIPE della tabella dei libri è una chiave straniera che apparirà dalla tabella BookTypes.
Modelli.Py
# Importa i moduli necessariCrea modelli per la ricerca:
Sono necessari tre file HTML per creare la funzione di ricerca mostrata in questo tutorial. Questi sono book_list.html, book_detail.html e ricerca.html. Il libro_list.HTML mostrerà tutti i record dalla tabella dei libri. Il libro_detail.HTML mostrerà i dettagli di un particolare libro. La ricerca.HTML visualizzerà il risultato della ricerca dopo aver inviato il modulo di ricerca.
lista di libri.html
di x.nome dell'autore
$ x.prezzo
book_detail.html
libro.book_name
Autore: libro.nome dell'autore
Tipo: type
Pubblicazione: libro.pubblicazione
Price: $ libro.prezzo
ricerca.html
% con i risultati.conta come total_results %
Trovato total_results risultato total_results | pluralize
% endwith %
C.book_name
C.nome dell'autore
nessun risultato trovato.
Crea le funzioni di visualizzazione:
Modifica le viste.File PY con il seguente script. Tre funzioni sono state definite nello script. La funzione book_list () visualizzerà il libro_list.file html. La funzione book_detail () visualizzerà il book_detail.html. La funzione Search () cercherà i record in base ai dati inviati dal modulo di ricerca e visualizzerà il risultato nella ricerca.html.
visualizzazioni.Py
# Importa i moduli necessariImposta percorsi per chiamare le funzioni di visualizzazione:
Modifica gli URL.File PY del progetto Django con il seguente script. Quattro percorsi sono stati definiti nello script. Il percorso 'Admin/' viene utilizzato per aprire il dashboard amministrativo Django. Il percorso vuoto (") viene utilizzato per chiamare la funzione book_list (). Il percorso '/' viene utilizzato per chiamare la funzione book_detail (). Il percorso 'Search/' viene utilizzato per chiamare la funzione Search ().
URL.Py
# Importa modulo amministratoreEsegui l'app dal browser:
Esegui il seguente comando per eseguire Django Server.
$ Python3 Gestisci.Py Runserver
Esegui il seguente URL da qualsiasi browser per visualizzare l'elenco dei libri dalla tabella.
http: // localhost: 8000
Se l'utente fa clic sul collegamento, "PHP e MySQL per siti Web dinamici", i dettagli di questo libro appariranno nel browser.
Se l'utente cerca la parola, la fisica nel browser, il seguente risultato di ricerca verrà visualizzato nel browser.
Conclusione:
In questo tutorial è stata implementata un'app Django con l'opzione di ricerca di base. I nuovi sviluppatori di Django saranno in grado di implementare la funzione di ricerca nel loro sito Web dopo aver letto questo tutorial.