URL-адреса Flask Restful, дающие 404 в проекте

Я пытаюсь использовать Flask restful как Blueprint в шаблоне, который работает для других чертежей. Я продолжаю получать ошибку 404, когда захожу в /todos/1

Настройка моего проекта выглядит следующим образом:

Структура папок

├── app
│   ├── __init__.py
│   ├── mod_api
│   │   ├── __init__.py
│   │   └── routes.py
│   ├── main
│   │   ├── __init__.py
│   │   ├── forms.py
│   │   └── views.py
│   └── templates
│       ├── base.html
│       └── home.html
├── config.py
├── manage.py
└── requirements.txt

__init__.py

from flask import Flask
from flask_restful import Api
from flask_bootstrap import Bootstrap
from config import config
bootstrap = Bootstrap()
api = Api()

def create_app(config_name):
    app = Flask(__name__)
    app.config.from_object(config[config_name])
    config[config_name].init_app(app)

    bootstrap.init_app(app)
    api.init_app(app)

    from .main import main as main_blueprint
    from .mod_api import mod_api as api_blueprint
    app.register_blueprint(main_blueprint)
    app.register_blueprint(api_blueprint)
    return app

mod_api/__init__.py

from flask import Blueprint

mod_api = Blueprint('mod_api', __name__)

from . import routes

api/routes.py

from flask_restful import Resource
from .. import api

class TodoItem(Resource):
    def get(self, id):
        return {'task': 'Say "Hello, World!"'}

api.add_resource(TodoItem, '/todos/<int:id>')

Что я делаю не так??


person CraigH    schedule 19.07.2016    source источник
comment
вы решили эту проблему?   -  person Pikaurd    schedule 04.06.2017


Ответы (1)


У меня была такая же проблема, решение:

api.init_app(api_blueprint)
person leechor    schedule 31.10.2016