Карта URL Werkzeug с конечными точками на основе методов возвращает только метод, не разрешенный

Вот усеченная версия нашего отображения:

url_map = Map([
    Rule('/actions/<int:id>/', endpoint='actions.get_action', methods=('GET')),
    Rule('/actions/<int:id>/', endpoint='actions.put_action', methods=('PUT')),
    Rule('/actions/<int:id>/', endpoint='actions.dismiss_action', methods=('DELETE'))
])

После долгих поисков я нашел несколько примеров того, как люди делают то же самое на ( http://nullege.com/codes/search/werkzeug.routing.Rule)... но когда я делаю это, все ТРИ возвращаются как метод, не разрешенный. Я мог бы потенциально сделать

... methods=('GET', 'PUT', 'DELETE') ...

и иметь конечную точку, которая отправляет запрос на альтернативные функции, но из того, что я прочитал, мое отображение должно просто работать или, по крайней мере, МОЖЕТ работать, если я был знаком с правильным синтаксисом (который я не нашел за пределами по ссылке выше.)

Есть идеи, что я делаю не так?

1 ответ

В вашем списке правил, параметрах методов, разве они не должны быть списками? Что-то вроде

... methods=('GET',) ...

Обратите внимание на запятую, которая делает его кортежем.

Другие вопросы по тегам