2012-06-03 14 views
5

Sto cercando di capire il modo più elegante per costruire una forma di termini e condizioni (TNC) usando django. L'utente deve accettare il TNC per continuare. La parte confusa è come incorporare un campo di testo scorrevole nel modulo con il TNC che non è modificabile. Quindi l'utente deve fare clic sulla casella di controllo o il modulo non è valido. Il TNC è un documento sostanziale e si trova in un file di testo. C'è un modo per caricare il file di testo e rendere il contenuto del campo di scorrimento.Termini e condizioni di Django modulo

Qualche esempio di questo tipo di modulo o qualcosa di simile?

Grazie

risposta

4

La parte confusa è come incorporare un campo di testo scorrevole nella forma con il TNC che non è modificabile.

Questa parte confusa è semplice: non è un elemento di forma. È solo testo.

Ottieni il tuo contenuto in qualche modo ... dicono che da un file come lei suggerisce:

context = {} 
with open('/terms-and-conditions.txt') as f: 
    context['terms'] = f.read() 

Definire una forma semplice:

class MyForm(forms.Form): 
    i_agree = forms.BooleanField() 

Passo sia per il modello ...

<div style="width:600px; height:300px; overflow-y:scroll;"> 
    {% if form.errors %} 
     <h1>You must agree to the TNC</h1> 
    {% endif %} 
    <form method="post"> 
     {{ form.as_p }} 
     <input type="submit" value="I agree to the TNC" /> 
    </form> 
</div> 

Qualsiasi altra cosa è solo una permutazione di questo semplice schema. Forse si utilizza readonly textarea, un avviso javascript, ecc.

+0

C'è un modo per combinare il TNC con MyForm? La ragione per cui lo chiedo è che MyForm viene sottoposto a rendering come parte di un SessionWizard a più fasi. – codingJoe

+0

Perché non rendere i dati un attributo nel modulo e trascinarlo nel modello? È solo un oggetto pitone ... –