【问题标题】:_mysql_exceptions.ProgrammingError: (1146, "Table 'admin.users' doesn't exist")_mysql_exceptions.ProgrammingError:(1146,“表'admin.users'不存在”)
【发布时间】:2018-09-12 05:09:33
【问题描述】:

我正在尝试使用 mysql 连接使用烧瓶制作简单的登录应用程序,但是当我运行登录功能时,我在网络浏览器中收到 TypeError: an integer is required (got type str)

这是代码:

from flask import Flask, flash, redirect, render_template, request, session, abort
import os
from sqlalchemy.orm import sessionmaker
from sqlalchemy import create_engine
from flask_sqlalchemy import SQLAlchemy
from flask_mysqldb import MySQL
from wtforms import Form, StringField, TextAreaField, PasswordField, validators
from passlib.hash import sha256_crypt
from functools import wraps

app = Flask(__name__)

app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_DB'] = 'admin'
app.config['MYSQL_PORT'] = 3306
app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
# init MYSQL
mysql = MySQL(app)

@app.route('/')
def home():
    if not session.get('logged_in'):
        return render_template('login.html')
    else:
        return "Hello Boss!"

@app.route('/login', methods=['POST'])
def do_admin_login():
    cur = mysql.connection.cursor()

    POST_USERNAME = str(request.form['username'])
    POST_PASSWORD = str(request.form['password'])

    result = cur.execute("SELECT * FROM users WHERE username = %s", [POST_USERNAME])


    if result:
        session['logged_in'] = True
        cur.close()     
    else:
        flash('wrong password!')
    return home()

@app.route('/logout')
def logout():
    session['logged_in']=False
    return home()

if __name__ == "__main__":

    app.secret_key = os.urandom(12)
    app.run(debug=True)

图片错误

【问题讨论】:

标签: python mysql flask


【解决方案1】:

我已经解决了..起初我为 mysql 使用了错误的端口号,我从 xampp 向导窗口中检查了正确的端口号.. 其次,我的表名错误

【讨论】:

    猜你喜欢
    • 2015-06-06
    • 2014-02-03
    • 2019-02-18
    • 2014-07-26
    • 2018-01-29
    • 2012-11-05
    • 2011-07-12
    • 2016-06-14
    相关资源
    最近更新 更多