0
ここにはこれに関連する多くのトピックがありますが、私が直面している問題の解決に役立つものはありません。私は私のコードではどこかに関数が期待されていることを理解していますが、代わりに文字列を取得します。TypeError: 'str'は呼び出し可能ではありません(Flaskフォームのバリデーション)
関連するコード:私はこのエラーを取得していた理由について
class UserRegistrationForm(Form):
photo = FileField('', validators=[DataRequired()])
country = SelectField('','Select Country', choices=countries)
first_name = StringField('',[validators.Length(min=1,max=20), DataRequired()])
middle_name = StringField('',[validators.Length(min=1,max=20), DataRequired()])
last_name = StringField('',[validators.Length(min=1,max=20), DataRequired()])
dob = DateField('',format='YYYY-MM-DD', validators=[DataRequired()])
address = TextAreaField('', validators=[DataRequired()])
email = EmailField('', validators=[DataRequired(), Email()])
mobile_number = StringField('', validators=[DataRequired()])
password = PasswordField('', validators=[DataRequired()])
@app.route('/signup', methods=['GET', 'POST'])
def signup():
form = UserRegistrationForm(request.form)
if request.method == 'POST' and form.validate(): # here's where the error is coming from
file_name = request.files.getlist('photo')
if file_name[-4:] not in ALLOWED_EXTENSIONS:
flash('Invalid Image Type.')
else:
file_name = file_name.filename
destination = '/'.join([TARGET, file_name])
file_name.save(destination)
country = form.country.data
first_name = form.first_name.data
middle_name = form.middle_name.data
last_name = form.last_name.data
dob = form.dob.data
address = form.address.data
email = form.email.data
mobile_number = form.mobile_number.data
password = sha256_crypt.encrypt(str(form.password.data)) # according to tutorial the string conversion here is correct.
任意の考え?これに何時間も執着している。
まあ...私はそれを修正し、私は新しいエラーが発生しましたが、少なくとも修正する方法を知っています。フラスコは素晴らしいですが、エラーがどこにあるかを正確に伝えるのにうまくやっていません。私のコード@notenessを見直してくれてありがとう –
@ MarkAlexaようこそ! :) – noteness