【发布时间】:2018-09-21 01:38:37
【问题描述】:
我是 Python 新手,我正在使用 Flask 构建一个简单的 CRUD 应用程序。以下是我的做法:
from flask import Flask,request
import pymysql.cursors
connection = pymysql.connect(
host='localhost',
db='mydb',
user='root',
password='password',
cursorclass='pymysql.cursors.DictCursor
)
@app.route('/login',methods=['POST'])
def login():
cursor = connection.cursor(pymysql.cursors.DictCursor)
cursor.execute("SELECT id,hash,displayName,attempt,status FROM users WHERE id=%s", (request.form['username']))
user = cursor.fetchone()
pprint(user)
但是这段代码会输出类似这样的东西:
{u'displayName': 'John Smith',
u'hash': 'somehash.asdf!@@#$',
u'id': 'developer',
u'attempt': 0,
u'status': 1
}
问题是,我似乎无法使用标准的user.hash 语法获取这些属性。难道我做错了什么?我需要:
- 将其转换为类似 JSON 的结构
- 获取
user以这种形式呈现时的属性
【问题讨论】:
-
那么,你希望你的输出是 JSON 吗?
-
@KlausD。我已经稍微澄清了这个问题。我正在尝试获取
user的属性,因为在这种情况下user.hash返回None。 -
user["hash"]访问返回的dict中的哈希,json_str = json.dumps(user)将其转换为 JSON 字符串。 -
@zwer 这行得通。现在有人需要把它作为答案,这样我就可以选择一个接受的答案。