如何修复Flask WebApp中的“内部服务器错误”

时间:2018-12-20 04:55:39

标签: python flask sqlalchemy

我是不熟悉Flask并尝试部署我的Web应用程序的人。我在“ /登录”页面上收到500内部服务器错误。我不知道我的代码有什么问题。该应用程序可以在本地主机上正常运行。但是当我在pythonanywhere上部署它时,它会抛出错误。

(我在sqlalchemy和sqlite中使用了,这是'/ login'和'/'路由代码段)

@app.route('/')
def home():
    if not session.get('logged_in'):
        return render_template('homepage.html')

    else:
        return render_template('quiz.html')

@app.route('/login', methods=['POST'])
def do_admin_login():
    Session = sessionmaker(bind = engine)
    s = Session()
    global USERN
    global PASSWD
    POST_USERNAME = str(request.form['username']).lower()
    USERN = POST_USERNAME   
    POST_PASSWORD = str(request.form['password'])
    PASSWD = POST_PASSWORD
    query = s.query(User).filter(User.username.in_([POST_USERNAME]),User.password.in_([POST_PASSWORD]))
    result = query.first()
    if result:
        session['logged_in'] = True
    else:
        return 'wrong credentials'

    return home()

1 个答案:

答案 0 :(得分:1)

我不知道您是否以错误的方式复制了代码,但是您需要更改下面的代码行

@app.route('/')
def home():
if not session.get('logged_in'):
    return render_template('homepage.html')

else:
    return render_template('quiz.html')

对此

@app.route('/')
def home():
    if not session.get('logged_in'):
        return render_template('homepage.html')
    else:
        return render_template('quiz.html')

因为这也可能导致错误,并且您也可以在pythonanywhere上的应用程序配置中设置debug=True来查看到底是什么导致了错误