“从flaskext.mysql导入MySQL”导致服务器显示502错误的网关

时间:2019-02-21 23:35:14

标签: mysql nginx flask gunicorn flask-mysql

python新手。以下是一些在Ubuntu 18.04上使用Python 3.6.7,Flask,Gunicorn,NGINX和MySQL为应用程序(ddworkflow.com)服务的教程

这些教程是:

https://philchen.com/2019/02/11/how-to-make-a-python-web-app-in-virtualenv-using-flask-gunicorn-nginx-on-ubuntu-18-04

https://code.tutsplus.com/tutorials/creating-a-web-app-from-scratch-using-python-flask-and-mysql--cms-22972

我完成了第一个教程,并且能够成功地提供第二个教程中的基本网页。

在虚拟环境中安装所有内容,并仅使用pip install flask-mysql安装flask-mysql。

我的点冻结显示:

Click==7.0
Flask==1.0.2
Flask-MySQL==1.4.0
itsdangerous==1.1.0
Jinja2==2.10
MarkupSafe==1.1.0
PyMySQL==0.9.3
Werkzeug==0.14.1

在安装Flask-MySQL之后,我通过尝试以下“ from”命令的不同变体(在python提示符下)对安装进行了测试:

  1. from flask.ext.mysql import MySQL
  2. from flaskext.mysql import MySQL
  3. from flask_mysql import MySQL
  4. from flaskext.mysql import MySQL

1、2和3都产生ModuleNotFoundError...,唯一不会出错的是from flaskext.mysql import MySQL

但是,当我向烧瓶应用程序文件(app01.py)添加from flaskext.mysql import MySQL时,我立即收到502错误的网关错误。我的app01.py文件是

from flask import Flask, render_template, json, request
#from flaskext.mysql import MySQL #<--comment out or get 502 error   
hello = Flask(__name__)

@hello.route("/")
def greeting():
    return render_template('index.html')

@hello.route('/showSignUp')
def showSignUp():
    return render_template('signup.html')

@hello.route('/signUp',methods=['POST'])
def signUp(): 
    # read the posted values from the UI
    _name = request.form['inputName']
    _email = request.form['inputEmail']
    _password = request.form['inputPassword']

    # validate the received values
    if _name and _email and _password:
        return json.dumps({'html':'<span>All fields good !!</span>'})
    else:
        return json.dumps({'html':'<span>Enter the required fields</span>'})

if __name__ == "__main__":
    hello.run(host='0.0.0.0')

任何帮助解决502错误以使我连接到数据库的方法,我们深表感谢。谢谢。

1 个答案:

答案 0 :(得分:0)

这可能是virtualenv错误,请查看以下链接:https://www.pythonanywhere.com/forums/topic/2877/

与之前类似的问题:ImportError: No module named flask.ext.mysql