2016-06-14 2 views
-1

/api으로 가면 데이터베이스를 api로 변환 할 수 있습니다.Flask-Restful 기본 설정

from flask import Flask , render_template 
from flask_restful import Resource, Api,marshal_with, fields 
from flask_sqlalchemy import SQLAlchemy 

app = Flask(__name__) 
app.config.from_object('config') 
api = Api(app) 
db = SQLAlchemy(app) 

class songbook(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    song_book = db.Column(db.String(80)) 
    title = db.Column(db.String(120)) 
    artist = db.Column(db.String(120)) 
    disc_number = db.Column(db.String(120)) 
    track_number = db.Column(db.String(120)) 

    def __init__(self, song_book, title, artist, disc_number, track_number): 
     self.song_book = song_book 
     self.title = title 
     self.artist = artist 
     self.disc_number = disc_number 
     self.track_number = track_number 

resource_fields = { 
    'song_book': fields.String, 
    'title': fields.String, 
    'artist': fields.String, 
    'disc_number': fields.String, 
    'track_number': fields.String, 
} 

class HelloWorld(Resource): 
    @marshal_with(songbook) 
    def get(self): 
     return songbook.query.all() 

api.add_resource(HelloWorld, '/api') 

@app.route('/') 
def hello_world(): 
    return render_template("index.html") 

if __name__ == '__main__': 
    app.run(debug=True) 

은 내가 here에서 배우려고 노력했다

AttributeError: type object 'songbook' has no attribute 'items'

오류 코드를 얻을. 다른 모든 문서 또는 링크가 도움이됩니다.

+0

"내 데이터베이스를 API로 변환합니다."- 좋아, 좋아! 무엇이 문제인가, 아니면 무엇이 문제인가? –

+0

오류 AttributeError : 유형 오브젝트 '노래 책은'더 속성 '항목' –

+0

내가 당신 (나는 그것이 @marshal_with하는 chagned' –

답변

0

이 주석은 사전 @marshal_with을 필요로합니다. 대신 @marshal_with(resouce_fields)을 의미처럼

당신은 그것을에 당신이 어쩌면 def __dict__(self)이 (확실하지, 시도하지 않은) 할 수있는 동안, 당신의 songbook 클래스를 제공 결국 그것은 스키마를 반환해야, 그것은 보인다.