2012-06-03 80 views
5

我想弄清楚使用django构建条款和条件(TNC)表单的最优雅的方式。用户必须同意TNC才能继续。令人困惑的部分是如何将滚动文本字段嵌入到不可编辑的TNC格式中。然后用户必须点击复选框或表单无效。 TNC是一份实质性文件,位于文本文件中。有没有办法加载文本文件,并使滚动字段的内容。Django条款和条件表

这种类型的窗体或类似的任何例子?

感谢

回答

4

混乱的部分是如何嵌入一个滚动文本字段与TNC的形式,是不可编辑。

这个令人困惑的部分很容易:它不是一个表单元素。这只是文字。

某种方式得到您的内容...从文件中说,按照你的建议:

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

定义一个简单的形式:

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

同时传递到您的模板......

<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> 

其他任何只是这个简单模式的排列。也许你只使用readonly textarea,javascript警告等。

+0

有没有办法将TNC与MyForm结合起来?我问的原因是MyForm作为多步SessionWizard的一部分呈现。 – codingJoe

+0

为什么不将数据作为表单上的属性并将其拉入模板?这只是一个python对象。 –