烧瓶看不到形式

时间:2021-05-06 15:39:41

标签: python flask leaflet

我正在尝试使用 Flask 中的 Leaflet 构建一个简单的应用程序,但我的表单有问题。我想将数据从表单发送到我的数据库,但是当我使用 POST 方法时,Flask 不想读取这个方法。当我只使用 GET 时,数据库中的所有值都是空的。当我使用 POST 和 GET 时什么也没发生,没有任何行被添加到数据库中。

forms.py


class EventForm(FlaskForm):
    date_start = DateField(validators=[DataRequired()])
    date_end = DateField(validators=[DataRequired()])
    type = StringField(validators=[DataRequired()])
    name = StringField(validators=[DataRequired()])
    len_route = FloatField(validators=[DataRequired()])

mapa.html with Leaflet 地图和表格

<div id="fields">
                    <form action="" method="post">
                        <input type="text" id="route_len"  class="form-control mb-2" name="route_len_input" placeholder="Długosc trasy">
                        <br>
                        <button id="draw-button"  class="btn btn-success">Rysuj trase</button>
                        <br><br>
                        <input type="text" id="name"  class="form-control mb-2" name="name_input" placeholder="Nazwa">
                        <br>
                        <input type="datetime-local" id="date_st" class="form-control mb-2" required name="date_st_input" placeholder="Data startu">
                        <br>
                        <input type="datetime-local" id="date_end" class="form-control mb-2" required name="date_end_input" placeholder="Data końcowa">
                        <br>
                        <select  id="type" class="form-control mb-2" name="type_input">
                            <option></option>
                            <option value="Bieganie">Bieganie</option>
                            <option value="Rower">Rower</option>
                            <option value="Nordic walking">Nordic Walking</option>
                        </select>
                        <br>
                        <button type="submit"  id="end-button" name="sub" class="btn btn-danger">Zakończ rysowanie</button>
                        <br><br>
                    </form>
 </div>

routes.py

@app.route('/mapaa',methods=["GET","POST"])
def mapa():
    if request.method == "POST":
        data_pocz = request.form['date_st_input']
        data_kon = request.form['date_end_input']
        nazwa = request.form['name_input']
        typ = request.form['type_input']
        dlugosc = request.form['route_len_input']
        event_database = Event(date_start=data_pocz, date_end=data_kon, type=typ, name=nazwa, len_route=dlugosc)
        db.session.add(event_database)
        db.session.commit()
    return render_template('mapaa.html', title='Mapa')

1 个答案:

答案 0 :(得分:0)

您应该将表单链接到您的烧瓶方法

<form method="POST" action="/mapaa"> [...]