2016-06-16 2 views
0

저는 플라스크 레스트 웹 서버를 배우는 학생입니다.json serializable로 데이터를 변경하려면 어떻게해야합니까?

mydatabase 이름에 새로 넣습니다 : 새로운. post mehtod를 사용하면 데이터가 데이터베이스 테이블에 삽입됩니다. 데이터를로드하려고합니다. 오류가 있습니다. like this "TypeError : < . 사용자 객체 0x104225cd0>은 JSON을 직렬화 할 수 없습니다." 데이터 json serializbale을 어떻게 변경합니까?

잘 설명 할 수 없어서 죄송합니다. 본문을 읽어 주셔서 감사합니다. :)

app = Flask(__name__) 


app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:[email protected]/new' 
db = SQLAlchemy(app) 

class User(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    name = db.Column(db.String(80)) 
    email = db.Column(db.String(120)) 
    password = db.Column(db.String(120)) 

    def __init__(self, name, email, password): 
     self.name = name 
     self.email = email 
     self.password = password 

@app.route('/user',methods=['post']) 
def create(): 

    user = User(request.json.get('name',''), request.json.get('email',''), request.json.get('password','')) 
    db.session.add(user) 
    db.session.commit() 
    return 200 

@app.route('/userlist', methods = ['GET']) 
def index(): 
    users = User.query.all() 
    return jsonify({'user' : User.query.all() }) 
+0

오류를 붙여 넣으십시오. –

+0

오, 답장을 보내 주셔서 감사합니다. 0x104226cd0에있는 사용자 객체가 " '' –

답변

0

일반적으로 jsonify에는 사용자와 같은 사용자 지정 개체에 대한 CustomEncoder가 필요합니다. 플라스크 jsonify의 경우에도 마찬가지입니다. their documentation for an example of this을보세요.

비슷한 방식으로 사용자 클래스를 사용할 수 있습니다.

+0

좋은 응답을 주셔서 감사합니다 :) 매우 매우 (아주) 매우 감사합니다. 고맙습니다 !!! –

관련 문제