簡體   English   中英

來自 wtform 的數據不寫入數據庫 - Flask

[英]Data from wtform doesn't write to the DB - Flask

我正在嘗試創建一個包含三個路由的簡單表(ID、名稱) - 主頁、添加、查看。 添加將向表添加名稱,視圖將顯示完整的表。 此處推送的完整代碼,因此使用 Docker 運行它會更容易: https://github.com/Nadavbm/Python/tree/master/flask/sql/name

出於某種原因,我無法從此路線\視圖將數據寫入數據庫:

@app.route('/add', methods=['GET', 'POST'])
def add():
    form = NameForm()
    print('Name form created')
    if request.method == 'POST' and form.validate():
        print('Post entered and form validated')
        named = Name(name=form.name.data)
        try:
            print('Trying to add new name to db')
            db.session.add(named)
            print('Add name')
            db.session.commit()
            print('Commit name')
            flash('Added name successfully!')
        except  e:
            print('Exception!!')
            session.rollback()
            print(e)
        return redirect(url_for('view'))
    return render_template('add.html', form=form)

正如您在完整代碼中看到的那樣,我在 html、forms.py、models.py 中使用 Jinja2 中的 Jinja2 - 但我找不到它不寫入數據庫並且沒有任何錯誤的原因......

也許form.validate()總是 False 因為{{ form.hidden_tag() }}在表單模板中被注釋掉了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM