1. 程式人生 > 其它 >flask-wtf中使用RecaptchaField報RECAPTCHA_PUBLIC_KEY config not set錯誤

flask-wtf中使用RecaptchaField報RECAPTCHA_PUBLIC_KEY config not set錯誤

第一次使用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)

除錯跟蹤確定有值

請問有大神可以解決嗎?