Я пытаюсь создать приложение, которое использует Django REST Framework и Flask, но оно работает неправильно
У меня проблемы с моим приложением на python, использующим django и flask framework. Оно создает базу данных и все такое, но когда оно пытается сделать запрос к /api/v1/users, оно всегда возвращается с ошибкой данных. Я пробовал смотреть журналы сайта, и там написано то же самое "connection refused", когда сервер делает попытку соединения, и я не могу понять, почему это происходит. Мой код сейчас выглядит так:
from flask import Flask, jsonify, request
import datetime
app = Flask(__name__)
db=sqlite3.connect('data.db')
class User(object):
def __init__(self, id, name, email, password):
self.id = id
self.name = name
self.email = email
self.password = md5_hash(password).hexdigest()
def __repr__(self):
return "<User %s>" % (self.id,)
@app.route("/api/v1/users", methods=('GET', 'POST'))
def users():
if request.method == 'GET':
users = db.execute('SELECT * FROM user ORDER BY id ASC').fetchall()
data = dict(users=users)
return jsonify(data)
elif request.method == 'POST':
newuser = User(request.form.get('id'),
request.form.get('name'),
request.form.get('email'),
request.form.get('password'))
db.executemany("INSERT INTO user VALUES (?,?,?,?)",
(newuser.id, newuser.name, newuser.email, newuser.password))
return jsonify(status="ok")
else:
return "Invalid method."
@app.errorhandler(404)
def page_not_found(e):
return jsonify(status='Not Found')
if __name__ == "__main__":
app.run(host='0.0.0.0', port=5000)
Сообщение об ошибке, которое я получаю в журналах, следующее:
127.0.0.1 - - Referer: http://localhost:5000/api/v1/users
127.0.0.1 - - Connection: close
127.0.0.1 - - HTTP/1.1 404 Not Found
Content-Length: 0
Date: Mon, 25 Feb 2014 22:40:41 GMT
Server: WSGIServer/0.2 CPython/2.7.3 Linux/3.8.13-200.fc18.x86_64
X-Request-Id: bc6f15e4bcd9d39f59ae33a5a99f58eb
X-Runtime: 0.051711
Connection: close
Итак, запрос определенно выполняется, и соединение с базой данных открыто, но, похоже, он просто не может подключиться к серверу. Есть идеи, что здесь может быть не так? Спасибо!