1

確かに、お粗末な質問です。

<a href="{% url 'stuff.views.SomeView' %}/somethingnew">
    <button>See something new on this page</button>
</a>

<form action="" method="post">{% csrf_token %}
    <button name="somethingnew" type="submit" value=True>See something new on this page</button>
</form>

どちらを選択しても、ブール変数を更新し、適切な計算を実行し、ページビューを呼び出して、を使用してページをレンダリングしますsomething new on this page。私がどちらかの方法を使用する理由の一部は、ブール変数のコレクションの状態を保存するためです。1)ブール変数を変更する2)その状態を保存する3)ボタンがクリックされたときに必要な更新を実行し、最後に4)基になるデータが更新された後にページをレンダリングする最良の方法は何ですか?

現在、リンクではなくフォームを使用しているため、ブール変数ごとにURLをコーディングする必要はありません。どちらの方法が良いですか?1つの方法で、ページのリロードにかかる時間を改善できますか(多くのブール変数を想定)?

4

1 に答える 1

1

1)データベースオブジェクトを変更しているため、RESTの考え方に従って、POSTリクエストはユーザー入力を送信するためのものです。

2)入力が永久に必要ない場合(セッション期間)は、Sessionオブジェクトに保存します。それ以外の場合は、現在行っているようにデータベースにあります。

3/4)必要なすべての情報をフォームに収集します。ユーザーがPOSTリクエストでフォームをコミットすると、データを計算し、計算結果を含むレンダリングされたページで応答します。入力変数が断続的な計算で段階的に収集される場合は、それに応じて入力フォームを更新します(コンボボックスなどにさまざまな選択肢を表示します)。もちろん、送信はAJAXyの方法で行うこともできます。

于 2013-01-04T21:35:01.083 に答える