Google App Engine получает и публикует на одной модели - PullRequest
3 голосов
/ 08 мая 2011

Я новичок в google app engine / webapp и пытаюсь запустить простое приложение. Приложение будет для демонстрационной службы проката автомобилей. Я хотел бы иметь обработчик запросов для добавления новых автомобилей, который обрабатывает как получить, так и сообщение для страницы добавления автомобиля.

При получении следует вернуть форму, которую необходимо заполнить и отправить. Пост должен добавить машину (я пока не беспокоюсь об этом), а затем вернуть похожую страницу с формой и «автомобиль успешно добавлен» или что-то подобное.

Вот мой подход:

Отображение URL:

application = webapp.WSGIApplication([('/employee/add/car', AddCar)],
                                      debug=True)

AddCar:

class AddCar(webapp.RequestHandler):
    def get(self):
        self.response.out.write(template.render('templates/addcar.html', {}))

    def post(self):
        self.response.out.write(template.render('templates/addcarsuccess.html', {}))

addcar.html Шаблон:

{% extends "base.html" %}

{% block body %}
    <h2>Add a Car</h2>

    <form action="/employee/add/car" method="post">
        <label>Make</label>
        <input type="text" name="make"></input>
        <br/>
        <input type="submit"></input>
    </form>
{% endblock body %}

Я получаю ответ 405 Method Not Allowed, когда отправляю форму, показанную выше.

Я пытался печатать, вызывать исключения и т. Д. В функции post, чтобы посмотреть, вызывается ли она и не выглядит ли она как есть.

Я пытался вытащить пост в отдельный класс, и это, похоже, сработало, но я бы предпочел, чтобы они были в том же обработчике.

Я надеюсь, что мне не хватает чего-то простого, что позволит мне сделать это.

Есть идеи?

Спасибо.

1 Ответ

3 голосов
/ 08 мая 2011

Я проверил ваш код и он верен, я думаю, что оригинальный метод post в вашем коде имеет ошибку отступа.

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