0

Django:フォームフィールドの表示と編集可能性を「パラメータ化」するためのアプローチは何ですか?

一部のフィールドをフォーム表示から単純に欠落させたい (現在のユーザーに応じて) いくつかのフォームがあり、ユーザーに応じて一部のフィールドを編集できないようにします。

悪意のあるユーザーが不足しているパラメータを使用してポスト リクエストを手動で作成してセキュリティを破ることができないように、これをサーバーに適用する必要があります。

同様に、ユーザーに表示されないフィールドは、フォームの結果に戻ってくる必要があります。これにより、ユーザーに表示されず、モデルが DB に書き戻されるときに「消去」されないフィールドになります。

テンプレートの同じ非表示の問題も解決する必要があります。

アプリには、さまざまな不変性/非表示要件を持つ多数のフォームが含まれるため、これは汎用システムである必要があります。各フォーム内でパーミッションをコーディングすると、エラーが発生しやすくなります。

どんな助けでも感謝します。

クリス。

4

1 に答える 1

1

フォーム表示からフィールドを非表示にするには、フォームの__init__メソッドで不要なフィールドを単純に削除します。削除されたフィールドを追加して投稿リクエストを作成しても、フォームには影響しません。

無効または読み取り専用のフィールドについては、この記事と別の質問を確認してください。基本的に、クリーニングフィールドは初期状態に設定する必要があります。

于 2012-04-05T14:10:26.947 に答える