Python SyntaxError:无效语法,但遵循WTF文档,仍然不';我不能接受

Python SyntaxError:无效语法,但遵循WTF文档,仍然不';我不能接受,python,flask,flask-wtforms,wtforms,Python,Flask,Flask Wtforms,Wtforms,学习python和WTF。根据文档和教程编写了下面的代码,但似乎找不到错误 Controller.py from flask import Flask, escape, request, render_template, url_for, flash, redirect, send_from_directory, json, jsonify from flask_wtf import FlaskForm from wtforms import (StringField, PasswordFie

学习python和WTF。根据文档和教程编写了下面的代码,但似乎找不到错误

Controller.py

from flask import Flask, escape, request, render_template, url_for, flash, redirect, send_from_directory, json, jsonify

from flask_wtf import FlaskForm
from wtforms import (StringField, PasswordField, SubmitField, BooleanField, DateTimeField, 
                        RadioField, SelectField, TextField, TextAreaField, SubmitField)

from wtforms.validators import DataRequired, Length, Email, EqualTo
from form import infoForm


app = Flask(__name__)
app.config['SECRET_KEY'] = 'asdfghjklqwertyuiop1234567890'

@app.route('/test', methods=['GET','POST'])
def test():
    breed = False 
    form = infoForm()
    if form.validate_on_submit():
        session['breed'] = form.breed.data
        session['neutered'] = form.neutered.data 
        session['mood'] = form.mood.data 
        session['food_option'] = form.food_option.data 
#       breed = form.breed.data
#       form.breed.data = ''
#   return render_template('test.html', form = form, breed = breed)
        return redirect(url_for('/'))
    return render_template('test.html', form = form) 
forms.py

class infoForm(FlaskForm):

    # Used by forms.py essentially  
    breed = StringField("What breed are you?", validators = [DataRequired()])
    neutered = BooleanField("Have you been neutered?"), choices = ['Yes'])
    mood = RadioField('Please choose your mood: '),choices = [('mood_one','Happy'), ('mood_2','Sad')]
    food_option = SelectField(u'Pick your fav food: '), choices = [('chic','Chicken') , ('bf','beef') , ('fish','fish')])   
    submit = SubmitField('Submit')
我在终端上得到的响应是:

Traceback (most recent call last):
  File "/Users/himanshu/Documents/MasterInt/HMSpython/controller.py", line 21, in <module>
    from form import infoForm
  File "/Users/himanshu/Documents/MasterInt/HMSpython/form.py", line 22
    food_option = SelectField(u'Pick your fav food: ', choices = [('chic','Chicken') , ('bf','beef') , ('fish','fish')])    
              ^
回溯(最近一次呼叫最后一次):
文件“/Users/himanshu/Documents/MasterInt/HMSpython/controller.py”,第21行,在
从表单导入信息表单
文件“/Users/himanshu/Documents/MasterInt/HMSpython/form.py”,第22行
食物选项=SelectField(你选择你最喜欢的食物:',选项=[('chic','chick'),('bf','beef'),('fish','fish'))
^
箭头位于单词
'chic',

想知道我在遵循文档时哪里出错了吗


谢谢大家!

在radiofield和booleanfield中,右括号“')”的位置不正确。在选择之前关闭括号。也许这就是问题所在。 在逗号后,而不是逗号前加空格。 你可以在下面看到我的意思

class infoForm(FlaskForm):

    # Used by forms.py essentially  
    breed = StringField("What breed are you?", validators=[DataRequired()])
    neutered = BooleanField("Have you been neutered?", choices=['Yes'])
    mood = RadioField('Please choose your mood:', choices=[('mood_one', 'Happy'), ('mood_2', 'Sad')])
    food_option = SelectField(u'Pick your fav food:', choices=[('chic', 'Chicken'), ('bf', 'beef'), ('fish', 'fish')])   
    submit = SubmitField('Submit')

您的括号在
inforform
中不平衡,这些选项属于函数调用内部。嘿,Engin我复制了上述文件,我会得到以下错误:
回溯(最近一次调用):文件“controller.py”,第21行,在from form import infoForm file”/Users/himanshu/Documents/MasterInt/HMSpython/form.py“表单导入信息文件中”,第23行food_option=SelectField(你选择你最喜欢的食物:’,choices=[('chic','chick'),('bf','beef'),('fish','fish')))
我还缺少什么吗?情绪行的末尾还有一个括号“)”缺少。这可能从一开始就是问题所在。我在代码中添加了缺少的括号。你能复制并再试一次吗?