的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文件(它会像链接断开一样出错)。如果我交换网址,main.py有效,但login.py将无法加载。
我知道这可能是我的一些愚蠢的疏忽,我在谷歌或这个网站上找不到任何帮助。谢谢你的帮助。
答案 0 :(得分:2)
问题在于您的应用程序定义。
application = webapp.WSGIApplication([('/user\.html', MainPage),
('/sign', UserWrite)],
debug=True)
关于这个的文档在这里,虽然它没有“简单”的例子。 http://code.google.com/appengine/docs/python/tools/webapp/running.html
只需注意,您不需要使用.html。相反,您可以在两个地方映射'/ user'。