Невозможно отобразить изображение в Google App Engine (Python) - PullRequest
1 голос
/ 21 апреля 2010

Я не могу отобразить изображения на страницах, созданных с помощью Google App Engine (Python).

Мой файл app.yaml имеет:

- url: /images
  static_dir: images

И файл python имеет:

self.response.out.write("""<img src = '/images/title.gif' />""")  

Изображение по-прежнему не отображается на странице.

Спасибо

Ответы [ 5 ]

1 голос
/ 19 октября 2013

Я столкнулся с подобной проблемой. Решение было в конечном итоге очень простым. Вы должны попытаться переместить обработчик URL для статического каталога перед обработчиком приложения для main.app как это:

обработчики:

  • url: /favicon\.ico static_files: favicon.ico загрузка: favicon\.ico
  • url: /photos static_dir: photos
  • url: .* скрипт: main.app

Это раздражало меня примерно 45 минут, прежде чем я нашел решение в Google.

1 голос
/ 21 апреля 2010

Я бы протестировал:

  1. Вы видите http://yourapp.appspot.com/images/title.gif?
  2. Вы уверены, что папка с изображениями находится в корневом каталоге вашего приложения?
  3. Title.gif - это «рабочее» изображение?

Я бы порекомендовал вам использовать статическую папку для хранения статического содержимого, организованного в подпапках:

Root  
  static  
     images
     stylesheets
     javascripts
  app.yaml

и отображение URL / изображений, как это.

- url: /images
  static_dir: static/images
  mime_type: image/png 

mime_type: image/png необязательно; если не указан, тип MIME для файла будет получен из расширения имени файла.

0 голосов
/ 30 июня 2014

Одна из возможных причин этого состоит в том, что вы не предоставляете пространство между - url и не перезагружаете свой сервер. Это покажет 404 того времени. Если вы перезапустите свой сервер, вы увидите ошибку в app.yaml. Это одна очень распространенная ошибка, которую совершают люди. Потому что то, как ты это сделал, похоже, должно работать нормально.

0 голосов
/ 03 февраля 2012

Причиной может быть разница в верхнем / нижнем регистре между системами. Windows не чувствительна к верхним / нижним значениям, но Linux. Предположим, что ваше настоящее имя файла - Title.GIF. Он работает, если он написан как title.gif на компьютере с Windows (ваш локальный компьютер), но не работает на сервере Linux (сервер приложений Google).

0 голосов
/ 21 апреля 2010

Существует ли каталог с именем 'images' в корневом каталоге вашего приложения? Что это содержит? Что вы получите, если попытаетесь получить файл напрямую?

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