Когда я настраивал свой app.yaml, я только что пролистал эту страницу: http://code.google.com/appengine/docs/python/config/appconfig.html Вы должны думать как парсер регулярных выражений.Все, что не соответствует предыдущим выражениям, попадет в ваш шаблонный обработчик и вызовет странность.
Одна вещь, которую я заметил, состоит в том, что вы должны добавить login: admin
в обработчик очереди задач.Это предотвратит случайное попадание внешних запросов на этот URL.
Кроме того, когда вы отправляете задачи своему обработчику, если вы не включите косую черту (/task?blah=something
вместо /task/?blah=something
), запрос будет перенаправлен вашему обработчику подстановочных знаков и будет отправлен в Home.py.Это также может произойти для /image/
, /browse/
и /api/
.Вы должны помещать протоколирование вызовов в эти обработчики, чтобы гарантировать, что они будут вызываться, когда ожидается.
Ничто не выскакивает из меня, как, очевидно, неправильно в вашем app.yaml.Но поскольку в вашем журнале отображаются GET, это указывает на то, что что-то запрашивает этот URL, и это не просто метод get
, вызываемый дважды изнутри.
Edit:
Hold onсекунду, только что заметил, что у вас есть это в вашем app.yaml дважды.Вам не нужно этого делать.
- url: /movie/(.*)/rating-review-video/
script: /wianga/site/MoviePage.py
- url: /movie/(.*)/rating-review-video
script: /wianga/site/MoviePage.py`
Попробуйте заменить на:
- url: /movie/(.*)/rating-review-video.*
script: /wianga/site/MoviePage.py`
Edit2:
Попробуйте добавить это в начало вашего get
Метод:
logging.info('environ: ' + str(self.request._environ))
Вставьте вывод в beautifier (http://jsbeautifier.org/), чтобы сделать его более читабельным, и посмотрите на параметры REQUEST_METHOD, QUERY_STRING, HTTP_USER_AGENT, HTTP_COOKIE, PATH_INFO и HTTP_REFERчтобы увидеть, откуда на самом деле поступают запросы.Если они все приходят из вашего браузера, то в вашем html есть что-то странное, например, скрытые iframes (вы используете Channel API?).
Также попробуйте перейти на http://localhost:8080/_ah/admin/queues и убедиться, чтонет каких-то старых заданий.