6

ジャンゴを使用して利用規約 (TNC) フォームを作成する最もエレガントな方法を見つけようとしています。続行するには、ユーザーは TNC に同意する必要があります。紛らわしい部分は、編集できない TNC を使用してスクロール テキスト フィールドをフォームに埋め込む方法です。次に、ユーザーがチェック ボックスをクリックする必要があります。そうしないと、フォームが無効になります。TNC は実質的なドキュメントであり、テキスト ファイルに格納されています。テキスト ファイルを読み込んでスクロール フィールドの内容にする方法はありますか。

このタイプのフォームまたは類似の例はありますか?

ありがとう

4

1 に答える 1

5

紛らわしいのは、編集できない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の警告などを使用します。

于 2012-06-03T06:10:24.647 に答える