我尝试使用下拉列表选择ID,并将其添加到我的表中,而不使用JSON,但我不断收到相同的错误:
werkzeug.exceptions.HTTPException.wrap..newcls: 400 Bad Request: KeyError: 'nomFabri'
我有三张桌子: https://i.stack.imgur.com/W7v7x.png (遗憾的是,还不能发布图片)
我以为它可以很好的工作,并试图乱搞我的专栏,没有多少成功。我从我的研究中得到的大部分都是使用JSON,没有它就没有解决方法了吗
这是密码
@bp.route('/Appareil', methods=['GET', 'POST'])
def Appareil():
db = get_db()
materielTypes = db.execute(
'SELECT * FROM t_type'
).fetchall()
fabriquants = db.execute(
'SELECT * FROM t_fabriquant'
).fetchall()
return render_template('materiel/appareil.html',
materielTypes=materielTypes, fabriquants=fabriquants)
@bp.route('/AddAppareil', methods=['GET', 'POST'])
def AddAppareil():
if request.method == 'POST':
nomModele = request.form['nomModele']
numeroProduit = request.form['numeroProduit']
nomFabri = request.form['nomFabri']
matType = request.form['matType']
error = None
if not nomModele:
error = 'Faux.'
if error is not None:
flash(error)
else:
db = get_db()
db.execute(
'INSERT INTO t_appareil (nomModele, numeroProduit, nomFabri, mattype)'
' VALUES (?, ?, ?, ?)',
(nomModele, numeroProduit, nomFabri, matType,)
)
db.commit()
return redirect(url_for('materiel.appareil'))
return render_template('materiel/appareil.html')
这是表格
{% extends 'base.html' %}
{% block header %}
<h1>{% block title %}nouvel appareil{% endblock %}</h1>
{% endblock %}
{% block content %}
<form method="post" class="insertdata" action="/AddAppareil">
<select>
{% for materielType in materielTypes %}
<option name="matType" id="matType" value="{{ request.form['id_type'] }}">{{ materielType['materielType'] }}</option>
{% endfor %}
</select>
<select>
{% for fabriquant in fabriquants %}
<option name="nomFabri" id="nomFabri" value="{{ request.form['id_fabriquant']] }}">{{ fabriquant['nomFabr'] }}</option>
{% endfor %}
</select>
<input type="text" name="nomModele" id="nomModele" placeholder="nom du Modele" value="{{ request.form['nomModele'] }}" required>
<input type="text" name="numeroProduit" id="numeroProduit" placeholder="Numéro de série" value="{{ request.form['numeroProduit'] }}" required>
<input type="submit" value="Save">
</form>
{% endblock %}
感谢您的帮助:)
您需要添加name值来选择
<select name='mateType'>...</select>
,<select name='nomFabri'>...</select>
。另一个问题是,您需要从select和input字段中删除value="{{ request.form['nomModele'] }}"
您的python代码将类似于:
appareil.html文件类似于:
您需要为表单字段添加一些默认值:
相关问题 更多 >
编程相关推荐