我只是试图制作一个CRUD应用程序,您可以在其中添加,查看和编辑书籍,但是当我实例化Livro(Book)类时,却收到了“ TypeError:字节类型的对象不可JSON可序列化”的信息。我是从flask_wtf.Form类创建的。
我已经搜索了很多问题,但是什么也没找到,如果我不使用Flask中的JSON对象,为什么我会收到JSON错误?
from flask import Flask, render_template, flash, redirect, url_for
from loja_livros import app
from loja_livros.forms import RegistrarLivroForm
from loja_livros.models import Livro
from loja_livros import db
@app.route("/registrar", methods=['GET', 'POST'])
def registrar_livro():
form = RegistrarLivroForm() # this is where the StackTrace points to...
if form.validate_on_submit():
livro = Livro(titulo = form.titulo.data, autor = form.autor.data, ano = form.ano.data) # passando os dados para o modelo e salvando no bando de dados
db.session.add(livro)
db.session.commit()
flash('Livro adicionado com sucesso', 'success')
return redirect(url_for('home_page'))
return render_template('registrar.html', pag_title = "Adicionar Livro", form = form, legenda = 'Inserir novo livro')
from flask_wtf import Form
from wtforms import StringField, SubmitField, TextField
from wtforms.validators import DataRequired, Length
class RegistrarLivroForm(Form):
titulo = StringField('Titulo', validators = [DataRequired()])
autor = StringField('Autor', validators = [DataRequired()])
ano = StringField('Ano', validators = [DataRequired(), Length(min = 3, max = 4)])
add_livro_btn = SubmitField('Adicionar')
我希望该路由能够呈现registrar.html(显示表单)。