flask-wtf中使用RecaptchaField報RECAPTCHA_PUBLIC_KEY config not set錯誤
阿新 • • 發佈:2022-12-07
第一次使用flask-wtf的RecaptchaField,定義如下
配置檔案設定
1 # WTF 設定 2 WTF_I18N_ENABLED = False 3 SECRET_KEY = os.getenv('SECRET_KEY', 'some secret words') or 'my secert key dfdfdfdfdfdf' 4 RECAPTCHA_PRIVATE_KRY = os.getenv('RECAPTCHA_PRIVATE_KRY', 'some recapcha private key words') or 'my secert key dghghghghgh' 5 RECAPTCHA_PUBLIC_KRY = os.getenv('RECAPTCHA_PUBLIC_KRY', 'some recapcha public key words') or 'mertefghdfgsdsasdfasdfghjg'
Form表單定義
1 class RegistForm(MyBaseForm): 2 userName = StringField(label='使用者名稱:', validators=[DataRequired(message='必須填寫使用者名稱'), Length(min=2, max=20)]) 3 email = StringField(label='郵箱:', validators=[DataRequired(message='必須提供註冊郵箱'), Email(message='所提供郵箱需滿足郵箱格式')]) 4 password = PasswordField(label='密碼:', validators=[DataRequired(message='必須提供登入密碼'), Length(min=4, max=20, message='密碼長度必須在2-20個字元之間')]) 5 confirm = PasswordField(label='重複密碼:', validators=[DataRequired(message='請重複輸入密碼'), EqualTo('password', message='重複輸入密碼需與前密碼一致')]) 6 recaptcha = RecaptchaField() 7 8 submit = SubmitField(label='註冊')
確定在執行中current_app中可以查到config中的['RECAPTCHA_PUBLIC_KRY']
但在執行中報如下錯誤
跟蹤在widgets.py中報這個錯誤
def __call__(self, field, error=None, **kwargs): """Returns the recaptcha input HTML.""" try: public_key = current_app.config["RECAPTCHA_PUBLIC_KEY"] except KeyError: raise RuntimeError("RECAPTCHA_PUBLIC_KEY config not set") from None return self.recaptcha_html(public_key)
除錯跟蹤確定有值
請問有大神可以解決嗎?