私はペットプロジェクトのFlaskフレームワークを調べ始めました。私はenvato tutsplusのチュートリアルに取り組んでいます。私はXAMPPサーバーに存在するMySQLにデータベースを構築していますが、アクセスしようとしていますが、どうやってそれを行うのか分かりません。フラスコフレームワークを介してXAMPPのMySQLデータベースにアクセス
クロムコンソールFailed to load resource: the server responded with a status of 500 (INTERNAL SERVER ERROR)
でこのエラーが発生します。私はすでにこのコードを実行する前にXAMPPを開始しました。
私は、@app.route('/signUp',methods=['POST','GET'])
が調べる重要な方法であり、キーがapp.config['MYSQL_DATABASE_HOST']
であることを知っています。私はlocalhostを値として置くことはうまくいくと思ったが、そうではないので、http://localhost:80
などの異なる値を試したが、それはうまくいかないようだ。私は行方不明で何ですか?私を助けてください。ここ
は、バックエンドのコードです:
from flask import Flask, render_template, request, json
from flask_mysqldb import MySQL
from werkzeug import generate_password_hash, check_password_hash
mysql = MySQL()
app = Flask(__name__)
# MySQL configurations
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = ''
app.config['MYSQL_DATABASE_DB'] = 'BucketList'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)
@app.route('/')
def main():
return render_template('index.html')
@app.route('/showSignUp')
def showSignUp():
return render_template('signup.html')
@app.route('/signUp',methods=['POST','GET'])
def signUp():
try:
_name = request.form['inputName']
_email = request.form['inputEmail']
_password = request.form['inputPassword']
# validate the received values
if _name and _email and _password:
# All Good, let's call MySQL
conn = mysql.connect()
cursor = conn.cursor()
_hashed_password = generate_password_hash(_password)
cursor.callproc('sp_createUser',(_name,_email,_hashed_password))
data = cursor.fetchall()
if len(data) is 0:
conn.commit()
return json.dumps({'message':'User created successfully !'})
else:
return json.dumps({'error':str(data[0])})
else:
return json.dumps({'html':'<span>Enter the required fields</span>'})
except Exception as e:
return json.dumps({'error':str(e)})
finally:
cursor.close()
conn.close()
if __name__ == "__main__":
app.run(port=5002)
あなたのソースコードに '_nameと_emailと_password:'が正しくインデントされていますか?あなたの例ではないからです。 – miso
'app.run'でデバッグモードを有効にしてください。だからあなたはFlaskからより良いエラー報告を得ることができます。 – miso
これは正しく字下げされていますが、この例では行っていませんが、今度は –