@tarp20

Flask.The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again?

иметь самое простое приложение в папке src
в __init__.py :

from flask import Flask
from flask_restful import Api

app = Flask(__name__)
api = Api(app)


routes.py:
from src import api
class HelloWorld(Resource):
    def get(self):
        return {'hello': 'world'}

api.add_resource(HelloWorld, '/')


wigs.py:
from src import app

if __name__ == '__main__':
    app.run(debug=True)


Я получил сообщение:
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.


Но если я объединяю routes.py and wsgi.py:

from src import app, api

class HelloWorld(Resource):
    def get(self):
        return {'hello': 'world'}


api.add_resource(HelloWorld, '/')

if __name__ == '__main__':
    app.run(debug=True)


все работает!

Как я могу разделить этот код ??
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
@bacon
from src import app - ты берешь из __init__.py, там только определение app, оно ничего не знает про роутинг, получается routes.py вообще никак не используется В твоей не очень удобной конструкции, надо в __init__ импортировать routes, при чем должен быть какой-то метод, который будет к текущему app добавлять все нужные роуты

Кстати это проблема Flask, он не задает "строгую" структуру приложения, как тот же джанго, из-за этого у новичков проблемы с разделением на модули.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы