Адресация файла Yaml в GAE с использованием Python - PullRequest
0 голосов
/ 08 ноября 2011

Вот структура файла:

--src
-----\app.yaml
-----\bl
-----\bl\calc.html
-----\calc.py
-----\Main.py

Я хочу получить по этому адресу "localhost / bl / calc.html" и вот мой файл yaml:

 - url: /bl
      static_dir: bl
 - url: /bl/.*
      script: calc.py
  - url: /.*
      script: Main.py

В Main.py у меня есть это:

   from calc import Calc

    application = webapp.WSGIApplication([
      ('/', MainPage),
      ('/bl/calc', Calc)
    ], debug=True)

Но я получил только "Эта веб-страница не найдена" для http://localhost/bl/calc и http://localhost/bl/calc.html

Я действительно запутался с этим файлом YAML и GAE Я не знаю, как это исправить. Должен ли я иметь ту же конфигурацию приложения в файле Calc?

Ответы [ 2 ]

2 голосов
/ 09 ноября 2011

Директивы в app.yaml оцениваются по порядку сверху вниз.Поскольку у вас есть директива static_dir для /bl/ перед обработчиками сценариев для /bl/ и .*, любые запросы по этому пути будут удовлетворяться статическим каталогом, а не сценарием.Решите, какой вы хотите - статический или скрипт - и добавьте только это в app.yaml.

0 голосов
/ 08 ноября 2011

Файл yaml сообщает, какой файл запустить по заданному пути. Поскольку вы настраиваете WSGIApplication в Main.py, который будет обрабатывать запросы к / bl / calc с вашим объектом Calc, вам не нужны строки в файле app.yaml, указывающие calc.py. Удалите эти строки, и ваша программа должна работать.

...