Pylons - обработка запросов GET и POST - PullRequest
1 голос
/ 06 октября 2010

Какой лучший способ обработки данных формы POST в моем приложении Pylons?Я пробовал:

  • Наличие отдельного метода GET и метода POST с декоратором rest.restrict ('post').Проблема - если были ошибки проверки, вы не можете повторно отобразить форму с данными, введенными пользователем, потому что вы должны перенаправить обратно в метод GET, ИЛИ вы должны визуализировать шаблон непосредственно из метода POST.К сожалению, это выглядит странно, так как URL должен измениться, чтобы соответствовать действию POST.

  • Наличие всего этого в одном методе и определение, была ли форма отправлена ​​посредством проверки по запросу..method.Это работает нормально, но кажется неуклюжим, если request.method == 'post': ... else: ...

1 Ответ

2 голосов
/ 06 октября 2010

Наличие всего этого в одном методе, и обнаружение, была ли форма отправлена ​​через проверку на request.method. Это работает хорошо, но кажется неуклюжим, если request.method == 'post': ... else: ...

Я не уверен, почему вы описываете это как неуклюжий. Включение метода запроса является допустимой идиомой в мире веб-приложений на разных языках. Например, вы увидите, что представления Django имеют одно представление, которое обрабатывает запросы по-разному в зависимости от request.method. Аналогично в Java сервлеты имеют методы doPost() и doGet(), обеспечивающие различное поведение для запросов GET и POST.

Обновление

Я бы предпочел разделить их на разные методы, если это возможно. Многие другие веб-фреймворки делают это

Ничего плохого в этом подходе тоже нет. Я просто указал на то, что одинаковый метод обрабатывает их одинаково.

...