Я новичок в этом, поэтому, пожалуйста, прости меня, если я не объяснил должным образом.Я создаю интернет-магазин для проекта.Я хочу иметь список с несколькими вариантами выбора, из которого пользователь может выбирать.Я использую Python, Flask и MongoDB / mlab для хранения и извлечения данных.Пока это выглядит так:
@app.route('/update_item/<item_id>', methods=['POST'])
def update_item(item_id):
store = mongo.db.store
store.update( {'_id': ObjectId(item_id)},
{
'name':request.form['name'],
'type':request.form['type'],
'color':request.form['color'],
'material':request.form['material']
})
return redirect(url_for('main_store'))
HTML-код выглядит так:
<form action="{{ url_for('update_item', item_id=item._id) }}" method="POST" class="col s12">
<select id="material" name="material" value="{{store.material}}">
<option value="" disabled selected>Select</option>
<option value="denim" name="denim">Denim</option>
<option value="cotton" name="cotton">Cotton</option>
<option value="viscose" name="viscose">Viscose</option>
<option value="silk" name="silk">Silk</option>
</select>
</form>
Но я продолжаю получать это сообщение об ошибке
BadRequestKeyError: 400 Bad Request: KeyError: 'material'
Traceback (most recent call last)
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 2309,
in __call__
return self.wsgi_app(environ, start_response)
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 2295,
in wsgi_app
response = self.handle_exception(e)
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 1741,
in handle_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 2292,
in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 1815,
in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 1718,
in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 1813,
in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.4/dist-packages/flask/app.py", line 1799,
in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/ubuntu/workspace/app.py", line 74, in update_item
'material':request.form['material']
File "/usr/local/lib/python3.4/dist-
packages/werkzeug/datastructures.py", line 431, in __getitem__
raise exceptions.BadRequestKeyError(key)
BadRequestKeyError: 400 Bad Request: KeyError: 'material'
Что такоеЯ делаю не так?«имя», «тип» и «цвет» прекрасно работают сами по себе.Я попробовал ниже, но это не исправило это также.Спасибо.
'material':request.form.getlist['material']