에 문제 내가 세션에서 사용자 ID를 저장할하고이 일을 같이 간단 할 것이라고 생각 :파이썬 - 플라스크 및 세션
session['login_id'] = data[0]
을하지만 내 파이썬 스크립트를 실행할 때 오류 메시지가 다음 얻을 :
TypeError: 'NoneType' object has no attribute '__getitem__'
누군가 나를 도울 수 있기를 바랍니다. 감사.
여기서 에러 MSG 아래 인 코드
from flask import Flask, render_template, request, redirect, url_for, abort, session
from flaskext.mysql import MySQL
mysql = MySQL()
app = Flask(__name__)
app.config['MYSQL_DATABASE_USER'] = 'username'
app.config['MYSQL_DATABASE_PASSWORD'] = 'password'
app.config['MYSQL_DATABASE_DB'] = 'database'
app.config['MYSQL_DATABASE_HOST'] = 'host'
mysql.init_app(app)
@app.route('/signin', methods=['POST'])
def signin():
username = request.form['txt_login']
password = request.form['txt_pass']
cursor = mysql.connect().cursor()
cursor.execute("SELECT * from users where login_name='" + username + "' and password='" + password + "'")
data = cursor.fetchone()
session['login_id'] = int(data[0])
if data is None:
return render_template('authenticate.html', error="Invalid username or password")
else:
return redirect(url_for('home'))
if __name__ == '__main__':
app.secret_key = 'A0Zr98jRT#142DS4#sdfs4'
app.run(host="0.0.0.0")
이다.
File "render_template.py", line 29, in signin session['login_id'] = int(data[0]) TypeError: 'NoneType' object has no attribute 'getitem'
'데이터'변수가 설정되어 있습니까? 'None' 인 것처럼 보입니다. – Fenikso
코드의 일부 또는 기능을 게시 할 수 있습니까? – FunkySayu
이 경우에는'data' 변수가'None'이라는 것을 지적하는 것 외에는 우리가 도움을 줄 수있는 것이 많지 않습니다. 어떤 오류 메시지가 이미 알려줍니다. 문제를 재현하기 위해 더 많은 코드를 제공해야합니다. –