导入recaptcha时烧瓶出现错误

时间:2018-08-02 11:47:56

标签: python flask recaptcha

我有一个flask应用程序,我想在其中添加一个Recaptcha字段。我用它来验证是否可以发送电子邮件。到目前为止,这是我的代码:

from flask import render_template, request, flash, session, url_for, redirect
from flask import Flask
from flask_mail import Mail, Message
from flask_recaptcha import ReCaptcha



app.config.update({'RECAPTCHA_ENABLED': True,
               'RECAPTCHA_SITE_KEY':
                   '6LdJ4GcUAAAAAN0hnsIFLyzzJ6MWaWb7WaEZ1wKi',
               'RECAPTCHA_SECRET_KEY':
                   'secret-key'})


app=Flask(__name__)


recaptcha = ReCaptcha(app=app)


mail_settings = {
"MAIL_SERVER": 'smtp.gmail.com',
"MAIL_PORT": 465,
"MAIL_USE_SSL": True,
"MAIL_USERNAME": 'USERNAME',
"MAIL_PASSWORD": 'PASSWORD'
}


app.config.update(mail_settings)
mail = Mail(app)


@app.route('/')
def index():
    return render_template('index.html')




@app.route('/mail', methods=['GET', 'POST'])
def send_mail():

    r = requests.post('https://www.google.com/recaptcha/api/siteverify',
                      data = {'secret' : 
                              'secret_key',
                              'response' :
                              request.form['g-recaptcha-response']})

    google_response = json.loads(r.text)
    print('JSON: ', google_response)


if google_response['success']:
   msg = Message('Thank you for contacting me', sender='kristofferlocktolboll@gmail.com', recipients = [request.form['email']])
   msg.body ='sut den'
   mail.send(msg)
   return render_template('index.html')
else:
   return render_template('index.html')


 app.run(debug=True)

问题是,每当我有flask_recaptcha import ReCaptcha时,都会出现以下错误:

看来import语句是不正确的,但是由于我没有使用WTForms,所以我不知道还有什么用。每当我删除import语句时,它都会给出语法错误(这很有意义)

 Usage: flask run [OPTIONS]

 Error: The file/path provided (routes) does not appear to exist.  
 Please verify the path is correct.  If app is not on PYTHONPATH, 
 ensure the extension is .py

0 个答案:

没有答案