1
Flask 응용 프로그램 용 API를 구현해야하고 Flask-Restless
에 대한 권장 사항을 확인했습니다. 나는이 도서관의 단지 기본적인 사용법을 가진 벽의 일종으로 달려 갔고 그것을 사용했던 누군가가 도움을 줄 것을 기대했다. Flask-Restless GET 요청이 SQLAlchemy 오류를 던졌습니다.
API를 관리자와 엔드 포인트를 작성
...manager = APIManager(app, flask_sqlalchemy_db=db)
manager.create_api(Gallery, methods=['GET', 'POST', 'PUT', 'DELETE'])
... 새로운 항목을 삽입하기 위해, 이제
class Gallery(db.Model):
__tablename__ = 'galleries'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(25))
def __init__(self, title):
self.title = title
로가는 모델은,이 jQuery를 아약스 POST를 사용 의뢰. 이것은 잘 작동합니다. 나는 sqlite db 뷰어에서 그것을 테스트했고 엔트리를 볼 수있다.
$('#form').on('submit', function(e){
$.ajax({
type: 'post',
url: '/api/galleries',
contentType:"binary/octet-stream",
data: JSON.stringify({'title': $('#title').val()}),
success: function(){
alert('Success!');
}
});
e.preventDefault();
});
여기에 문제가 있습니다. 내 브라우저에서 http://localhost:5000/api/galleries
로 이동하여 다음과 같은 메시지가 얻을 :
NoResultFound을 sqlalchemy.orm.exc.NoResultFound
을 : 없음 행이 하나()
에 대한 발견되지 않았다 그것의 홀수는 것 api/galleries
이 db 항목의 목록을 반환 할 때 one()을 실행하십시오. api/galleries/1
을 시도하고 똑같은 오류가 발생합니다. 두 번 확인했고 기본 ID는 1입니다. 무엇이 누락 되었습니까?
디버깅하고 단계별로 추적하여 실행되는 명령문을 찾으십시오. – codecool