Flask WTForms 在同一 HTML 页面上使用多个表单

0 投票
1 回答
1717 浏览
提问于 2025-04-17 23:51

我似乎无法在同一个HTML页面上正确使用我在WTforms上创建的两个表单:

我定义了这两个表单

class Area(Form):
    title = TextField("Title", [validators.Required("Please enter an Area Title")])
    text = TextAreaField("Text (max 50 characters)",[validators.Required("Please enter a Push text"),validators.Length(max=50,message="Area text cannot be more than 50 characters")])

class Message(Form):
    Message_title = TextField("Title", [validators.Required("Please enter a Message Title")])
    Message_Date_and_Time = DateTimeField("Date and Time")

然后我想把它们显示在我的Dashboard.html页面上,我在页面中嵌入了代码,以便在两个不同的表单块中显示它们。

接着,我尝试为我的dashboard.html创建一个视图函数,在这里我调用/定义这两个表单

@app.route('/dashboard.html')
def dashboard():
form = Area()
M_form = Message()
return render_template('dashboard.html',form= Area(),M_form = Message())

但是我遇到了一个

    M_form = Message()    
NameError: global name 'Message' is not defined

我想这可能是某种基本的结构错误,也许我不能在我的视图中定义两个表单,但那我该怎么做呢?我不想为了每个表单都去写两个不同的HTML页面。

1 个回答

1

在你的脚本最上面写上 from forms import Area, Message 这行代码。

撰写回答