Я новичок в этом, и я планирую перенести свои вещи с платного веб-сервиса на GAE (ничего динамического, просто статические страницы). Поверьте мне, я потратил бесчисленные часы, пытаясь сделать эту работу, но я в тупике, благодаря чему я достигаю одного результата, за исключением другого и наоборот.Статические страницы Google App Engine Python 2.5 и т. Д.
Я уверен, что это простой ответ и что я нарушаю некоторые основные принципы. Я хочу, чтобы страница приложения (mygaeid.appspot.com) предоставляла статическую целевую страницу, так что доступны другие страницы с добавлением суффикса, например. mygaeid.appspot.com/oranges.html mygaeid.appspot.com/grapes.html и т. д.
Я не могу добиться этого, чтобы я мог либо получить другие страницы, когда добавляю суффикс, например. mygaeid.appspot.com/apples.html; mygaeid.appspot.com/oranges.html, но не целевую страницу ИЛИ с немного отличающимся ямлом, целевая страница (mygaeid.appspot.com) работает, но нет доступа к другим страницам (mygaeid.appspot.com/oranges.html и т. д.), которые имеют суффикс.
Файл ого (abcdefg.py) ниже и является общим для двух различных yamls, которые следуют:
import os
from google.appengine.ext import webapp
from google.appengine.ext.webapp import util
from google.appengine.ext.webapp import template
class MainHandler(webapp.RequestHandler):
def get (self, q):
if q is None:
q = 'htmdir/apples.html'
path = os.path.join (os.path.dirname (__file__), q)
self.response.headers ['Content-Type'] = 'text/html'
self.response.out.write (template.render (path, {}))
def main():
application = webapp.WSGIApplication ([('/(.*html)?', MainHandler)], debug=True)
util.run_wsgi_app (application)
if __name__ == '__main__':
main()
Используя следующую YAML целевой страницу (mygaeid.appspot.com) работ отлично (доставляет содержимое apples.html), но я не могу получить доступ к странице, если добавить суффикс, например mygaeid.appspot.com/apples.html или mygaeid.appspot.com/static/htmdir/apples.html и т. д., как только я добавлю суффикс, он не работает. В каталоге (htmdir) я разместил apples.html вместе с другими html-страницами, например. oranges.html и т. д., и я не могу получить доступ к любому из них с помощью этого yaml.
application: mygaeid
version: 1
runtime: python
api_version: 1
handlers:
- url: /(.*\.(html))
static_files: static/htmdir/\1
upload: static/htmdir/(.*\.(html))
- url: /css
static_dir: css
- url: /js
static_dir: js
- url: /images
static_dir: images
- url: .*
script: abcdefg.py
Если я изменить YAML следующим образом, то целевая страница (mygaeid.appspot.com) не работает, но когда я добавить суффиксы, то он отлично работает, например, mygaeid.appspot.com/apples.html; mygaeid.appspot.com/oranges.html и т.д. поставить соответствующие страницы:
- url: /(.*\.(html))
static_files: htmdir/\1
upload: htmdir/(.*\.(html))
Наконец, если я обойтись без каталогов в целом и с использованием тех же abcdefg.py (без каталога) следующий очень простой YAML на самом деле доставляет результаты, которые я хочу, но очень неуправляемы, поскольку все файлы заполнены в корневом каталоге.
application: mygaeid
version: 1
runtime: python
api_version: 1
handlers:
- url: /(.*\.(png|js|css))
static_files: \1
upload: (.*\.(png|js|css))
- url: .*
script: abcedfg.py
Любая помощь была бы очень признательна при выяснении этого. благодаря
благодаря wooble и благодаря Дэйву я вернулся еще раз и внимательно прочитайте Бревно решения работает Wooble, но мне нужно было поставить htmdir (который содержит HTML) внутри директории под названием статичной. GAE является большим (и бесплатно) решением для статических сайтов
вашей помощи и обратной связи очень ценятся
SiteDirectory
-mygaeid
-static
-htmdir
-js
-css
-images
app.yaml
index.yaml
(py file was removed)
@Octavio: Я отредактировал свой ответ, чтобы включить обработчики CSS/JS/image. – geoffspear