谷歌应用引擎中的多个文件处理程序

时间:2012-06-19 00:17:47

标签: google-app-engine

我想在google-app引擎(python 2.7)中有多个页面,后续是我的目录结构: root包含:pujaweb.py(主脚本),index.html,stylesheets(文件夹),port(文件夹)......

现在我的页面的第二个脚本位于port文件夹中,我想配置我的index.html,使其链接到该页面。我尝试了很多东西,但不知怎的,它不起作用,总是显示404页面找不到错误,命令行说PujaPort模块不存在(pujaport是第二页的app处理程序)。

以下是我的app.yaml文件代码:

application: thepujabhalerao

version: 1

runtime: python27

api_version: 1

threadsafe: true



handlers:

- url: /images

  static_dir: images





- url: /stylesheets

  static_dir: stylesheets


- url: /port
  script: pujaport.app


- url: /.*

  script: pujaweb.app



libraries:

- name: jinja2

  version: latest

这是我的主要处理程序(pujaweb.py)

import cgi

import webapp2 

import jinja2

import os

from google.appengine.api import xmpp

from google.appengine.ext import db





jinja_environment = jinja2.Environment(

    loader=jinja2.FileSystemLoader(os.path.dirname(__file__)))



class MainPage(webapp2.RequestHandler):

  def get(self):

      template_values = {}

      template = jinja_environment.get_template('index.html')

      self.response.out.write(template.render(template_values))




app = webapp2.WSGIApplication([('/', MainPage)],

                              debug=True)

并且索引文件管理器中的href如下所示:

<a href="/port/">P</a>

最后这是第二页处理程序pujaport.py:

    import cgi

import webapp2 

import jinja2

import os

from google.appengine.api import xmpp

from google.appengine.ext import db





jinja_environment = jinja2.Environment(

    loader=jinja2.FileSystemLoader(os.path.dirname(__file__)))



class PujaPort(webapp2.RequestHandler):

  def get(self):

        self.response.out.write("In handler")




app = webapp2.WSGIApplication([('/port', PujaPort)],

                              debug=True)

我知道这是一个小故障,但是请帮助我,因为长时间使用后我可能会错过显而易见的事情。

1 个答案:

答案 0 :(得分:0)

如果您坚持使用该文件夹结构,则需要通过向其添加port文件(可以为空)将__init__.py目录放入包中,并引用该应用程序作为port.pujaport.app,其完全限定名称。