ここにdjangoとnginxの両方の設定ファイルが含まれているので、この質問をここに投稿するべきか、またはserverfaultに投稿するべきかわかりません。djangoフォームのフィールド名として有効でない識別子を使用する方法
私はファイルフィールドを含むフォームからPOSTデータを受け取るdjangoビューを持っています。
ファイルのアップロードフィールドを取得し、ディスクの場所に保存し、各ファイルが見つかるローカルパスとその名前やその他のメタデータを追加する追加モジュール(アップロードモジュール)その後、元のファイルフィールドをPOSTから削除します。
追加されるフィールドはあまり柔軟性がなく、名前にピリオド(。)またはダッシュ( - )が含まれています。
これはすべてうまくいくものですが、問題はPython側にあります。フォームを使用して着信POSTデータを検証する場合は、ピリオドまたはダッシュを含む名前のフィールドを持つフォームを定義する方法がわかりません。 djangoフォームには、変数に格納されているフィールドとは異なる名前があることを伝える方法はありますか?
私の回避策は、単純にdjangoフォームを使用しないで、着信データを別の方法で(どのように)サニタイズするかです。
それとも誰かがnginxのでアップロードモジュールを使用した経験を持ち、$ upload_field_name.XXXX追加フィールドはピリオドを使用しないように指令
upload_set_form_field $upload_field_name.name "$upload_file_name";
upload_set_form_field $upload_field_name.content_type "$upload_content_type";
upload_set_form_field $upload_field_name.path "$upload_tmp_path";
を使用する方法を知っている場合は? (ダッシュは機能しますが、Pythonの識別子をもう一度壊してしまえば、他の文字は設定ファイルを破壊します)
どちらの場合でも推奨されますか?
ありがとうございます!