紛らわしいのは、編集できない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>
それ以外は、この単純なパターンの順列にすぎません。おそらく、読み取り専用のテキストエリア、JavaScriptの警告などを使用します。