-1
CRUD API를 플라스크에 작성했지만 GET 요청을 시도 할 때마다 "내부 서버 오류"라는 오류 메시지가 나타납니다. POST 요청도 나를 위해 작동하지 않습니다. POST는 잘못된 요청임을 나타내는 400 오류를 반환합니다. 여기서 내가 뭘 잘못하고 있니? 내 config.py 파일HTTP/1.0 500 플라스크에 내부 서버 오류가 발생했습니다.
import os
basedir = os.path.abspath(os.path.dirname(__file__))
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'app.sqlite')
SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db_repository')
내가 잘못 여기서 뭐하는 거지
from flask import Flask, jsonify, abort, request
from flask_restless import APIManager
from flask_sqlalchemy import SQLAlchemy
from flask import make_response
app = Flask(__name__)
app.config.from_pyfile('config.py')
db = SQLAlchemy(app)
class User(db.Model):
username = db.Column(db.String(50), primary_key=True)
password = db.Column(db.String(50))
name = db.Column(db.String(20))
def __init__(self, name, uname, pword):
self.username = uname
self.name = name
self.password = pword
@app.route('/api/users/', methods = ['GET'])
def index():
return jsonify({'users': User.query.all()})
@app.route('/api/<string:username>/')
def get_user(username):
return jsonify({'users': User.query.get(username)})
@app.errorhandler(404)
def not_found(error):
return make_response(jsonify({'error': 'Not found'}), 404)
@app.route('/api/users/', methods = ['POST'])
def create_user():
if not request.json or not 'name' in request.json:
abort(400)
user = User(request.json.username, request.json.get('name', ''), request.json.get('password',''))
db.session.add(user)
db.session.commit()
return jsonify({ 'User': user }), 201
@app.route('/api/users/<string:username>', methods = ['DELETE'])
def delete_user(username):
db.session.delete(Users.query.get(username))
db.session.commit()
return jsonify({ 'result': True })
@app.route('/api/users/<string:username>', methods = ['PUT'])
def update_user(username):
user = User.query.get(username)
user.username = request.json.get('username', ser.username)
user.name = request.json.get('name',user.name)
user.focus = request.json.get('password', user.password)
db.session.commit()
return jsonify({ 'user': user })
if __name__ == '__main__':
app.run()
다음 내 run.py 파일
다음은? 어떤 도움을 주시면 감사하겠습니다.
당신은 500 에러 페이지에'디버그 = TRUE ', 당신은, 대화 형 웹 기반 디버거, 완전한 역 추적을 볼 수와 응용 프로그램을 실행하는 경우 . – jwg
@jwg 콘솔을 확인한 결과 "no such table : user [SQL : u'SELECT user.username AS user_username, user.password AS user_password, user.name AS user_name \ n FROM user ']" –
에 전화를 건 사람이 있습니다. ['db.create_all()'] (http://flask-sqlalchemy.pocoo.org/2.1/quickstart/#a-minimal-application)을 적당한 장소에 두십시오. –