Ошибки Python Flask 404

#python #flask

#python #flask

Вопрос:

Я следил за некоторыми руководствами по сборке restful api с помощью python и flask. Изначально я столкнулся с несколькими проблемами, такими как:

Проблема 1 (я думаю, решена) Python запускает веб-сервер на виртуальной машине virtualox, прослушивающей только localhost. С тех пор я изменил сценарий для запуска специально на IP-адресе и порту хоста, чтобы он был доступен для обслуживания запросов GET из внешнего браузера.

 from flask import Flask

def create_app(config_filename):
    app = Flask(__name__)
    app.config.from_object(config_filename)
    
    from app import api_bp
    app.register_blueprint(api_bp, url_prefix='/api')

 #   from models import db
 #   db.init_app(app)

    return app

if __name__ == "__main__":
    app = create_app("config")
    app.run(host='192.168.56.92',port=5000,debug=True)
  

Проблема 2:

Я все еще получаю 404 ошибки ниже, когда выполняю curl или пытаюсь загрузить из внешнего браузера http://192.168.56.92:5000/api/Hello

  * Running on http://192.168.56.92:5000/ (Press CTRL C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 339-215-805
192.168.56.1 - - [04/Nov/2020 16:57:22] "GET /api/Hello HTTP/1.1" 404 -
192.168.56.1 - - [04/Nov/2020 16:57:46] "GET /api/Hello HTTP/1.1" 404 -
  

Если вы, ребята, можете указать на ошибку, это будет здорово.

Спасибо

Комментарии:

1. Пожалуйста, поделитесь кодом, в котором api_bp определено, ошибка должна исходить оттуда

Ответ №1:

Я обнаружил проблему, и спасибо, что указали на нее, хотя и не очевидно. Проблема связана с классом ресурсов с именем Users, который импортируется в класс run.

 from flask import Blueprint
from flask_restful import Api
from resources.User import User

api_bp = Blueprint('api', __name__)
api = Api(api_bp)

# Route
api.add_resource(User, '/User') ==> Problem was here. 
  

Я исправил конечную точку, чтобы она имела верхний регистр U`, тогда как ранее было ‘/ user’. Теперь он работает.

Спасибо всем