Как настроить отображение URL после JQuery POST?

Я использую Freebase Suggest, форму поиска JQuery:

<script type="text/javascript">
  $(function() {
    $("#game-search").suggest({type:'/games/game'}).bind("fb-select", function(e, data) {
    $("#game-id").val(data.id);
    $("#game-name").val(data.name);
    });
  });
</script>

<form name="input" action="/game" method="post">
  <input class="search-box" type="text" id="game-search"/>
  <input type="hidden" name="game_id" id="game-id" />
  <input type="hidden" name="game_name" id="game-name" />
  <input class="button" value="Go" type="submit"/>
</form>

Этот POST вернет страницу, которая отображает игровые данные. Но я хочу, чтобы отображаемая ссылка была постоянной ссылкой на эту страницу. Прямо сейчас, независимо от того, какая игра возвращается при поиске, URL-адрес foo.com/game, но постоянная ссылка foo.com/game/id/mid (id и mid - ссылочные идентификаторы).

В моем обработчике я возвращаюсь, используя:

self.response.out.write(template.render(path, 
                                        template_values, 
                                        debug=DEBUG))

Я подозреваю, что есть способ перенаправления, но я не знаю, как.

UDPATE: не ясно, что я пытаюсь спросить / сделать. POST передает идентификатор через JQuery обработчику. Путь для POST - это / игра. Я хочу, чтобы на странице результатов отображался URL /game/id/mid, в основном я хочу создать и отобразить постоянную ссылку. Возможно, это так же просто, как создание объекта Game в POST, а затем перенаправление в GET (с использованием структуры URL-адреса с постоянными ссылками), а затем GET визуализирует шаблон.

1 ответ

Решение

Сначала вы должны настроить app.yaml:

- url: /game/(.*?)/(.*?)
script: game/yourgame.py

Затем в вашем yourgame.py перенаправьте сообщение на постоянную ссылку:

self.redirect('/game/your permalink url')
Другие вопросы по тегам