Flask возвращает 404, хотя маршрут четко определен - PullRequest
1 голос
/ 29 февраля 2020

У меня есть какая-то функция, использующая проект:

@election_blueprint.route("/getlast/{string:type}")
def get_specific_last(election_type: str):
    some code here

И затем я регистрирую этот проект перед запуском приложения:

app.register_blueprint(election_blueprint, url_prefix="/election")

И после этого Flask говорит, что этот метод определен в маршрутах:

# FLASK_APP='owo/app.py' flask routes
Endpoint                     Methods  Rule
---------------------------  -------  ----------------------------------------------------------
elections.get_elections      GET      /election/find/{string: type}
elections.get_last           GET      /election/getlast/
elections.get_specific_last  GET      /election/getlast/{string:type} <-- There it is!

Но когда я пытаюсь получить его от клиента, я получаю 404, хотя другие методы, даже объявленные в этом проекте, кажутся работающими нормально. Что я делаю не так?

Например, если я просто go до

http://localhost/election/getlast/sometype

Возвращает 404, но если я использую другой метод, например

http://localhost/election/getlast/

Работает нормально.

1 Ответ

1 голос
/ 29 февраля 2020

Я полагаю, что в вашем коде написана опечатка с использованием "{" вместо "<". Кроме того, имя переменной в маршруте должно совпадать с именем переменной в функции: </p>

@election_blueprint.route("/getlast/<string:election_type>")
def get_specific_last(election_type: str):
    some code here

хорошее значение включено: https://hackersandslackers.com/flask-routes/ Надеюсь, оно вам подходит:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...