簡體   English   中英

SyntaxError:無效的語法,但遵循 WTF 文檔,但仍然不接受

[英]SyntaxError: invalid syntax but followed the WTF documentation and still doesn't accept it

學習 python flask 和 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')])    
              ^

箭頭在 - 在'chic',

想了解我在遵循文檔時哪里出錯了?

謝謝!

您在無線電場和布爾場上的右括號“)”位於錯誤的位置。 在選擇之前關閉括號。 也許這就是問題所在。 並在逗號之后放置一個空格,而不是之前。 你可以在下面看到我的意思。

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')

暫無
暫無

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

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