[英]Coding newbie: internal server error when trying to run a flask web app with database connection
我正在开发一个简单的 flask web 应用程序。 我已经上传了所有内容,以便在我的网络服务器上执行该项目。 不幸的是它不起作用(错误:内部服务器错误服务器遇到内部错误并且无法完成您的请求。服务器过载或应用程序中有错误。)我还没有找到任何可以帮助的东西我。
这是我的代码
from flask import Flask, render_template, url_for, request,\
redirect, g
from wtforms import Form, StringField, PasswordField, validators
import mysql.connector
from werkzeug.security import generate_password_hash
from db.db_credentials import DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE
class RegistrationForm(Form):
username = StringField('Nutzernamen angeben', [validators.Length(min=4, max=50)])
email = StringField('Email angeben', [validators.Length(min=6, max=255)])
password = PasswordField('Password angeben',
[validators.length(min=4, max=256), validators.DataRequired(), validators.EqualTo('confirmation', message='Passwörter müssen übereinstimmen')])
confirmation = PasswordField('Passwort wiederholen')
app = Flask(__name__)
@app.route('/')
@app.route('/index')
def index():
return render_template('index.html')
@app.route('/registration', methods=["GET", "POST"])
def register():
form = RegistrationForm(request.form)
username = form.username.data
password = form.password.data
email = form.email.data
password = generate_password_hash(password)
if request.method == "POST" and form.validate():
assert isinstance(DB_DATABASE, tuple)
g.con = mysql.connector.connect(host=DB_HOST, user=DB_USER, password=DB_PASSWORD,
database=DB_DATABASE)
cursor = g.con.cursor
cursor.execute("INSERT INTO konten (username, password, email) VALUES {%s}, {%s}, {%s} ",
username, password, email)
return redirect(url_for("login"))
return render_template("register.html", form=form)
if __name__ == '__main__':
app.run(debug=True)
@app.route('/')
def myfun():
return render_template('index.html')
@app.route('/index')
def index():
return render_template('registration.html')
1.首先你必须返回一个模板。
2.我的建议是使用 sqlalchemy 连接数据库时很容易对错误进行排序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.