Django条款和条件表

cod*_*Joe 5 django django-forms

我正试图找出使用django构建条款和条件(TNC)形式的最优雅方式.用户必须同意TNC才能继续.令人困惑的部分是如何将滚动文本字段嵌入到不可编辑的TNC的表单中.然后用户必须单击复选框或表单无效.TNC是一个重要的文档,位于文本文件中.有没有办法加载文本文件并使其成为滚动字段的内容.

这种形式的任何例子或类似的东西?

谢谢

Yuj*_*ita 5

令人困惑的部分是如何使用不可编辑的 TNC 将滚动文本字段嵌入到表单中。

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

以某种方式获取您的内容...按照您的建议从文件中说:

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

定义一个简单的表格:

class MyForm(forms.Form):
    i_agree = forms.BooleanField()
Run Code Online (Sandbox Code Playgroud)

将两者都传递给您的模板...

<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>
Run Code Online (Sandbox Code Playgroud)

其他任何东西都只是这个简单模式的排列。也许您使用只读 textarea、javascript 警告等。