[解決済み] フォームの clean() メソッドで、リクエストオブジェクトやその他の変数にアクセスするにはどうすればよいですか?
2022-11-07 19:11:56
質問
フォームのクリーンメソッドにrequest.userを使用しようとしていますが、どのようにrequestオブジェクトにアクセスすればよいのでしょうか?変数の入力を許可するためにクリーンメソッドを修正することはできますか?
どのように解決するのですか?
Ber による回答 - スレッドローカルに格納する - は、非常に悪い考えです。この方法で行う理由はまったくありません。
もっと良い方法は、フォームの
__init__
メソッドをオーバーライドして、追加のキーワード引数を取ることです。
request
. これにより、リクエストは
フォーム
に保存されます。そして、そこからクリーンメソッドにアクセスすることができます。
class MyForm(forms.Form):
def __init__(self, *args, **kwargs):
self.request = kwargs.pop('request', None)
super(MyForm, self).__init__(*args, **kwargs)
def clean(self):
... access the request object via self.request ...
と表示され、あなたのビューに
myform = MyForm(request.POST, request=request)
関連
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 環境変数の値にアクセスする方法
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] String表現のDictionaryをDictionaryに変換する?
-
[解決済み] Pythonのオブジェクトを正しくクリーンアップするにはどうしたらいいですか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 2つの線分が交差しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] tensorflowのCPUのみのインストールでダイナミックライブラリ 'cudart64_101.dll' を読み込めなかった
-
[解決済み] Flask でグローバル変数はスレッドセーフか?リクエスト間でデータを共有するには?
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複