エラーが発生しました、GET/POSTパラメーターの数がsettings.DATA_UPLOAD_MAX_NUMBER_FIELDSを超えました。 views.pyに書きました
def upload(request):
id, array = common(request)
if request.FILES:
file = request.FILES['req'].temporary_file_path()
else:
return HttpResponse('<h1>NG</h1>')
return HttpResponse('<h1>OK</h1>')
def common(request):
id = json_body.get("access", "0")
if id == "":
id = "0"
s = []
with open(ID_TXT, 'r') as f:
for line in f:
s += list(map(int, line.rstrip().split(',')[:-1]))
array = [s[i:i + 2] for i in range(0, len(s), 2)]
return id, array
のようなPOSTMANを使用してアクセスと要求データを投稿します
このエラーはファイルサイズを送信できることの制限だと思うので、settings.pyにコードを追加しました
DATA_UPLOAD_MAX_MEMORY_SIZE = 100000000
しかし、エラーは解決しません。このページを読みました 「GET/POSTパラメーターの数を超えました」エラーを回避する方法? 参照として。これを修正するにはどうすればよいですか?
djangoのドキュメントにあるように、DATA_UPLOAD_MAX_NUMBER_FIELDSの値はデフォルトの1000です。したがって、フォームにその数よりも多くのフィールドが含まれると、TooManyFieldsエラーが発生します。
こちらをご覧ください: https://docs.djangoproject.com/en/1.11/ref/settings/
解決方法は簡単です。settings.pyでDATA_UPLOAD_MAX_NUMBER_FIELDSが存在する場合、値をより高い値に変更するか、そうでない場合は、settings.pyに追加します。
DATA_UPLOAD_MAX_NUMBER_FIELDS = 10240 # higher than the count of fields