#python #django #django-rest-framework #python-requests #multipartform-data
Вопрос:
Я создал скрипт для программной загрузки данных на свой сервер, но django продолжает выдавать The number of GET/POST parameters exceeded settings.DATA_UPLOAD_MAX_NUMBER_FIELDS.
мне ошибку, вот данные, которые я отправляю
{'store': 'dang-1',
'name': 'Nike Air Max Plus',
'description': 'Let your attitude have the edge in your Nike Air Max Plus, a Tuned Air experience that offers premium stability and unbelievable cushioning.',
'brand': 'Nike',
'model': 'Air Max Plus',
'gender': 'U',
'category': 'shoes',
'image_v0_1': <_io.BufferedReader name='data/images/shoes/Nike Air Max Plus/image (3).jpg'>,
'image_v0_2': <_io.BufferedReader name='data/images/shoes/Nike Air Max Plus/image (3).png'>,
'image_v0_3': <_io.BufferedReader name='data/images/shoes/Nike Air Max Plus/image (3).jpg'>,
'image_v1_1': <_io.BufferedReader name='data/images/shoes/Nike Air Max Plus/image (1).jpg'>,
'image_v1_2': <_io.BufferedReader name='data/images/shoes/Nike Air Max Plus/image (1).png'>,
'image_v1_3': <_io.BufferedReader name='data/images/shoes/Nike Air Max Plus/image (1).jpg'>,
'image_v2_1': <_io.BufferedReader name='data/images/shoes/Nike Air Max Plus/image (2).jpg'>,
'image_v2_2': <_io.BufferedReader name='data/images/shoes/Nike Air Max Plus/image (2).png'>,
'image_v2_3': <_io.BufferedReader name='data/images/shoes/Nike Air Max Plus/image (2).jpg'>,
'variants': '[{"is_default": true, "price": 65000, "quantity": 10, "shoe_size": 45, "color": "black"}, {"is_default": false, "price": 65000, "quantity": 10, "shoe_size": 45, "color": "multi-colored"}, {"is_default": true, "price": 65000, "quantity": 10, "shoe_size": 45, "color": "green"}]'}
И вот сценарий, который я создал
import json
import requests
if __name__ == '__main__':
json_file = open('data/data.json')
products = json.load(json_file).get("products")
for index, product in enumerate(products):
print(f"Creating {index 1}/{len(products)} - {product.get('name')}")
data = {}
for key, value in product.items():
if key.startswith("image"):
data[key] = open(value, 'rb')
else:
if key == 'variants':
data[key] = json.dumps(value)
else:
data[key] = value
print(data)
res = requests.post(
'http://localhost:8000/api/v1/product/create', data, cookies={
"access_token": "",
"csrftoken": ""
})
if res.status_code < 400:
print(f"${product['name']} created successfully")
else:
print(f"${product['name']} failed to create")
# print(res.text)
Я не знаю, что означает эта ошибка и как я могу ее устранить
Ответ №1:
Согласно документам, вы можете установить DATA_UPLOAD_MAX_NUMBER_FIELDS
значение None
в своем settings.py файл, чтобы избежать проверки на стороне Django.