Обслуживание статического HTML в движке приложений Google Python - PullRequest
6 голосов
/ 17 апреля 2011

У меня проблемы с загрузкой статических .html страниц для моего Python приложение. Когда я нажимаю на ссылку типа index.html , я получаю пустую страницу и на сервере регистрирую ошибку 404. То же самое относится и к другим статическим .html файлам, таким как about.html .

Приложение работает на панели статических файлов. Я пытался заглянуть в много мест, но я не могу получить. HTML-страниц вверх. т.е.

INFO 2011-04-16 17: 26: 33,655 dev_appserver.py:3317] "GET / term.html HTTP / 1.1 "404 -

YAML:

application: quote
version: 1
runtime: python
api_version: 1

handlers:

- url: /index\.html
script: index.py

- url: /
script: index.py

- url: /(.*\.(html))
static_files: static/\1
upload: static/HTML/(.*\.(html))


- url: /favicon.ico
static_files: static/images/favicon.ico
upload: images/favicon.ico
mime_type: image/x-icon

- url: /css
static_dir: static/css

- url: /images
static_dir: static/images

- url: /js
static_dir: static/js

Мои статические файлы находятся в static / HTML, а index.html находится в главной папке.

Я тоже пробовал это, но, похоже, ничего не изменилось:

- url: /favicon.ico
  static_files: static/images/favicon.ico
  upload: images/favicon.ico
  mime_type: image/x-icon

- url: /css
  static_dir: static/css

- url: /images
  static_dir: static/images

 - url: /js
  static_dir: static/js

 - url: /(.*\.(html))
  static_files: static/\1
  upload: static/HTML/(.*\.(html))

 - url: /index\.html
  script: index.py

 - url: /
 script: index.py

Ответы [ 4 ]

4 голосов
/ 17 апреля 2011

Держите ваши HandlerScripts ниже части обработки Статического каталога. Я просто перенесу это на последнее.

- url: /index\.html
script: index.py

- url: /
script: index.py
2 голосов
/ 18 апреля 2011

Поместите /HTML в ваш путь к static_files:

- url: /(.*\.(html))
  static_files: static/HTML/\1
  upload: static/HTML/(.*\.(html))
1 голос
/ 18 апреля 2011

Вам не нужно отдельно определять каждый каталог в вашем yaml-файле

handlers:
- url: /static
  static_dir: my_application/static

Затем в вашем соответствующем html-файле, который вы будете рендерить с помощью django, вы можете вызывать статический контент, например,

<script src="/static/less_lib.min.js"></script>
0 голосов
/ 18 апреля 2011

Вы должны правильно сделать отступ для YAML.

Предоставлено

сценарий с неверным уровнем

handlers:
- url: /index\.html
script: index.py

в эквиваленте json

{
  "handlers": [
    {
      "url": "/index\\.html"
    }
  ], 
  "script": "index.py"
}

С отступом

скрипт на правильном уровне

handlers:
- url: /index\.html
  script: index.py

JSON-эквивалент

{
  "handlers": [
    {
      "url": "/index\\.html", 
      "script": "index.py"
    }
  ]
}

Online YAML Parser

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