Мой .yaml неправильно перенаправляет - PullRequest
1 голос
/ 02 октября 2010

app.yaml

application: classscheduler9000
version: 1
runtime: python
api_version: 1

handlers:   
- url: /static
  static_dir: static

- url: /images
  static_dir: static/images

- url: /stylesheets
  static_dir: static/stylesheets

- url: /users\.html
  script: main.py

- url: /.*
  script: login.py

main.py

import hashlib

from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db

class AccountHolder(db.Model):
    ...

class MainPage(webapp.RequestHandler):
    def get(self):
            ...

class UserWrite(webapp.RequestHandler):
    def post(self):
        ...

application = webapp.WSGIApplication(
                                     [('/', MainPage),
                                      ('/sign', UserWrite)],
                                     debug=True)

def getMD5Hash(textToHash=None):
    return hashlib.md5(textToHash).hexdigest()

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()

В настоящее время я тестирую это в автономном режиме с Google App Engine. Когда я захожу на localhost: 8080, он берет меня на мою страницу входа. Однако, когда я пытаюсь получить доступ к localhost: 8080 / users.html, он не загружает мой файл main.py (он выдает ошибку, как неработающую ссылку). Если я поменяю URL, main.py будет работать, но login.py не загрузится.

Я знаю, что это, наверное, какая-то глупая оплошность с моей стороны, и я не смог найти никакой помощи в Google или на этом сайте. Спасибо за любую помощь.

1 Ответ

2 голосов
/ 02 октября 2010

Проблема связана с определением вашего приложения.

application = webapp.WSGIApplication([('/user\.html', MainPage),
                                      ('/sign', UserWrite)],
                                     debug=True)

Документация по этому вопросу есть здесь, хотя в ней нет "простых" примеров. http://code.google.com/appengine/docs/python/tools/webapp/running.html

Просто примечание, вам не нужно использовать .html. Вместо этого вы можете отобразить '/ user' в обоих местах.

...