Колба: получение ошибки 404 конкретно на одном маршрутеPython

Программы на Python
Ответить
Anonymous
 Колба: получение ошибки 404 конкретно на одном маршруте

Сообщение Anonymous »

Я пытаюсь использовать Flask в качестве серверной части для создания небольшого настольного приложения с использованием Electron, но столкнулся со странной проблемой.
По сути, у меня есть маршрут, "/ appendToList/», который следует вызывать посредством запроса на выборку из кода JavaScript. Он просто принимает переданное значение, которое должно быть строкой, а затем добавляет строку в список для дальнейшего использования.
Маршрут выглядит следующим образом:
routes.py:

Код: Выделить всё

list_o_details:list[str]=[]
@app.route("/appendToList/", methods=["POST"])
def appendToList(some_value):
list_o_details.append(some_value)
return {"value":f"Appended {some_value}"}
Запуск через Electron дает две ошибки в консоли:
Изображение

Эти ошибки также появляются в терминале, но только после того, как я открываю консоль настольного приложения.
Если я запускаю файл Flask отдельно и пытаюсь вызвать маршрут с помощью Curl выдает ту же ошибку 404:
Изображение

Это странно, потому что мой файл содержит два других маршрута, и оба работают отлично. Ниже приведен весь файл:

Код: Выделить всё

from flask import Flask
app = Flask(__name__)

list_o_details:list[str]=[]
list_o_sums:list[int]=[]

@app.route("/", methods=["GET","POST"])
def check():
return {"result":"Server active!"}

@app.route("/add//", methods=["POST"])
def addNumbers(num1,num2):
num1=int(num1)
num2=int(num2)
sum = num1+num2
list_o_sums.append(sum)
return {"sum":f"{num1}+{num2}={sum}"}

@app.route("/appendToList/", methods=["POST"])
def appendToList(some_value):
list_o_details.append(some_value)
return {"value":f"Appended {some_value}"}

print(app.url_map)

if __name__ == "__main__":
app.run(debug=True)
Изображение

Как видите, мой код включает print(app.url_map), который показывает следующее:
Изображение

Хотя я не знаю, почему он напечатан дважды, он показывает, что URL-адрес "/ appedToList/".
После некоторого тестирования я обнаружил, что если я создам копию addNumbers() только с одним аргументом, например:

Код: Выделить всё

@app.route("/adding/", methods=["POST"])
def addingNumbers(num1):
num1=int(num1)
num2=12
sum = num1+num2
list_o_sums.append(sum)
return {"sum":f"{num1}+{num2}={sum}"}
Это также приводит к той же ошибке:
[img]https://i.sstatic .net/Qszww1Fn.png[/img]

Итак, думая, что проблема в количестве параметров, я изменил AppendToList(), чтобы он выглядел так:

Код: Выделить всё

@app.route('/appendToList//
', methods=["POST"])
def appendToList(some_value,placeholder):
list_o_details.append(some_value)
return {"value":f"Appended {some_value}"}
Но ошибки остались.
Я не знаю, в чем дело. Маршрут существует, а это означает, что, скорее всего, это какая-то синтаксическая ошибка внутри самого маршрута, но я не могу понять, что это может быть. Кто-нибудь знает, что происходит и как это исправить?
Заранее спасибо

Подробнее здесь: https://stackoverflow.com/questions/793 ... ecifically
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»