Il progetto Django ha come scopo la creazione di un framework, rivolto al web, mediante il quale è possibile creare in maniera facile e veloce siti o portali web dinamici usando la comoda sintassi del Python e gli strumenti messi a disposizione dal progetto stesso.
Lo sviluppo di siti web in Django prevede l'adesione dello stesso agli standard della programmazione MTV (Model-Template-View). Per maggiori informazioni vi invito ad effettuare delle ricerche nel web.
Grazie a Django è possibile creare dei form da inserire nelle proprie pagine web per poter eseguire comuni operazioni a cui si è già abituati: impostazione di filtri sui dati, invio di email, iscrizione ad un servizio, etc. I vari campi che costituiscono il form vengono chiamati fields. Può essere necessario, a volte, dover visualizzare un field in modalità di sola lettura ad esempio per poter mostrare agli utenti un dato senza permetterne la modifica.
Immaginiamo di dover crear un form per l'invio delle email che mostri all'utente l'indirizzo di posta elettronica del webmaster a cui verrà inviata la segnalazione. Il seguente articolo mostrerà semplicemente il sistema di gestione dei widget. Ogni altra operazione verrà considerata come già nota all'utente che legge il seguente articolo.
Rechiamoci nel file views.py dell'applicazione del nostro progetto. Spostiamoci alla fine dello stesso ed inseriamo il seguente codice:
class mail_form(forms.Form):
webmaster-mail = forms.CharField(widget = forms.TextInput(attrs={'readonly':'readonly'}))
user_mail = forms.EmailField()
user_name = forms.CharField()
mail_content = forms.CharField()
Come si può vedere il campo webmaster_mail è impostato, mediante la proprietà widget, in modalità di sola lettura.
Nell'immagine che segue è possibile vedere la differenza tra un CharField tradizione ed uno in sola lettura.
Questo sistema ovviamente può essere utilizzato su ogni tipo di field così da permetterne la visualizzazione e non la modifica.
