Prerequisiti:
Prima di esercitarti con lo script di questo tutorial, devi completare le seguenti attività.
UN. Installa la versione Django 3+ su Ubuntu 20+ (preferibilmente)
B. Crea un progetto Django
C. Esegui il server Django per verificare che il server funzioni correttamente o meno.
Configura un'app Django:
UN. Esegui il seguente comando per creare un'app Django denominata databaseapp.
$ python3 gestire.py startapp databaseappB. Esegui il seguente comando per creare l'utente per l'accesso al database Django. Se hai completato l'utente in precedenza, non è necessario eseguire il comando.
$ python3 gestire.py createsuperuserC. Aggiungi il nome dell'app in INSTALLATA_APP parte delle impostazioni.py file.
INSTALLATE_APPS = […
'app di convalida'
]
D. Crea una cartella denominata modelli dentro il databaseapp cartella e impostare il modello posizione dell'app nel MODELLI parte di impostazioni.pi file.
MODELLI = [… .
'DIRS': ['/home/fahmida/django_pro/databaseapp/templates'],
… .
,
]
Modello di progettazione con attributi di default e null:
Modifica il Modelli.pi file con il seguente script per creare una tabella denominata prodotti che conterrà quattro campi senza il campo id. Questi nomi, prezzo, data_produzione e data_scadenza. Il valore di nullo l'attributo è impostato su True per tutti i campi. Il valore di il vuoto l'attributo è impostato su True anche per tutti i campi. Ciò significa che l'utente può lasciare vuoti i campi prima di inviare il modulo che utilizzerà questo modello. Il predefinito il valore dell'attributo è impostato per prezzo, data_produzione e data_scadenza.
Modelli.pi
# Modulo di importazione dei modellida django.modelli di importazione db
# Crea una classe per definire la struttura della tabella Insegnanti
classe Prodotto (modelli.Modello):
nome = modelli.CharField(max_length=50, null=True, blank=True)
prezzo = modelli.IntegerField(null=True, default=", blank=True)
data_fabbricazione = modelli.DateField(null=True, default='0000-00-00', blank=True)
scadenza_data = modelli.DateField(null=True, default='0000-00-00', blank=True)
Esegui i seguenti comandi di migrazione per creare i file di migrazione necessari e la tabella del database del database SQLite.
$ python3 gestire.py makemigrations databaseapp$ python3 gestire.py migrare
Inserimento dati tramite Django Administration Dashboard:
Modifica il contenuto di l'amministratore.pi file con il seguente script per registrare il modello nel database.
amministratore.pi
Modifica il URL.pi file con il seguente script per definire il percorso per aprire il dashboard di amministrazione di Django.
URL.pi
# Importa modulo di amministrazioneda django.amministratore di importazione contributi
# Modulo percorso di importazione
da django.percorso di importazione degli URL
# Definisci il percorso per il cliente e l'amministratore
patternurl = [
percorso('admin/', admin.luogo.URL)
]
Ora, esegui il server Django e vai al dashboard di amministrazione di Django utilizzando il seguente URL.
http://localhist:8000/admin
apri il modulo di inserimento del prodotto facendo clic su Aggiungi prodotto. Se l'utente invia il modulo senza inserire dati, nel browser verrà visualizzato il seguente output. Qui, due campi data mostrano errori perché il valore predefinito del campo data non è in un formato valido.
Il seguente output apparirà dopo aver aggiunto i dati di data validi. qui, il prezzo il campo è vuoto per l'utilizzo dell'attributo predefinito.
Inserimento dati tramite template:
Il modo di inserire i dati nel into prodotti la tabella che utilizza il modulo HTML è stata mostrata in questa sezione. Qui, gli elementi del modulo verranno generati in base al modello creato in precedenza.
forme.pi
# Modulo di importazione modulida moduli di importazione django
# Importa modello cliente
da dbapp.i modelli importano il prodotto
# Definisci la classe per il modulo cliente
classe ProductForm(forms.ModelForm):
classe Meta:
modello = prodotto
campi = '__all__'
Crea il file HTML denominato Prodotto.html dentro il modelli cartella dell'app con il seguente script. I dati del modulo verranno inviati quando l'utente farà clic su Salva pulsante.
Prodotto.html
Modulo di iscrizione cliente Customer
Modifica il visualizzazioni.pi file con il seguente script per inserire i dati nel prodotti tabella dopo aver convalidato il modulo. Aggiungi prodotto() la funzione è definita nello script per verificare che il modulo sia inviato o meno e, se il modulo viene inviato, controllerà che i dati del modulo siano validi o non validi. Se è valido() la funzione restituisce vero, quindi i dati verranno inseriti nel prodotti tabella e nel browser verrà visualizzato un messaggio di successo.
visualizzazioni.pi
# Importa il modulo HttpResponseda django.http.importazione risposta HttpResponse
# Importa modulo di rendering
da django.scorciatoie importare rendering
# Importa modulo prodotto
da dbapp.importazione moduli ProductForm
# Definisci la funzione per aggiungere la voce del prodotto
def Aggiungi prodotto (richiesta):
se richiesta.metodo == "POST":
form = ProductForm(richiesta.INVIARE)
# Se i dati del modulo sono validi o meno
se forma.è valido():
provare:
# Salva i dati del modulo nel database
modulo.Salva()
# Definisci il messaggio per l'utente
dati = ['
Il prodotto aggiunto.
']# Restituisci la risposta
return HttpResponse(dati)
tranne:
passaggio
altro:
# Definisci l'oggetto modulo
form = ProductForm()
# Mostra il modulo di inserimento del prodotto
restituire render(richiesta, 'prodotto.html', 'form': form)
Modifica il URL.pi file con il seguente script per definire il percorso per chiamare la funzione di visualizzazione.
URL.pi
# Importa modulo di amministrazioneda django.amministratore di importazione contributi
# Modulo percorso di importazione
da django.percorso di importazione degli URL
# Importa vista
da dbapp import views
# Definisci il percorso per il cliente e l'amministratore
patternurl = [
percorso(", viste.Aggiungi prodotto),
percorso('admin/', admin.luogo.URL)
]
Ora esegui il server Django e apri l'URL di base nel browser.
http://localhist:8000/
Apparirà il seguente modulo.
Il seguente ValoreErrore apparirà se l'utente invia il modulo senza aggiungere alcun dato nel modulo. qui, il prezzo il campo è un numero intero che non può essere la stringa vuota.
Se l'utente inserisce i dati validi come il modulo sottostante e preme il tasto Salva pulsante, un nuovo record di prodotto verrà inserito nel database.
L'immagine seguente apparirà se apri il record appena inserito dal Django Dashboard.
Conclusione:
Un modello è stato progettato utilizzando gli attributi null e predefiniti in questo tutorial. Successivamente, le modalità di inserimento dei dati in questi campi nel back-end e nel front-end sono state mostrate qui per aiutare il lettore a conoscere gli usi degli attributi predefiniti e nulli nel database Django.