"from flaskext.mysql import MySQL" заставляет сервер показывать 502 неверных шлюза - PullRequest
0 голосов
/ 22 февраля 2019

новичок в питоне.После пары учебников для обслуживания приложения ( ddworkflow.com ) с использованием Python 3.6.7, Flask, Gunicorn, NGINX и MySQL в Ubuntu 18.04

Учебники:

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

Я прошел первый урок и могу успешно обслуживать основные веб-страницы из второго урока.

Установка всего в виртуальной среде и только что установил flask-mysql с использованием pip install flask-mysql.

My pip freeze показывает:

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

Однако, когдаЯ добавляю from flaskext.mysql import MySQL в файл приложения своей фляги (app01.py) и сразу получаю ошибку 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 голосов
/ 22 февраля 2019

Это может быть виртуальной ошибкой, перейдите по этой ссылке: https://www.pythonanywhere.com/forums/topic/2877/

Очень похожий вопрос из ранее: ImportError: Нет модуля с именем flask.ext.mysql

...