相关疑难解决方法(0)

在app.yaml中定义路由与AppEngine中的WSGIApplication中的一个大映射相比,是否有性能提升?

场景1

这包括使用一个"门户"的路线app.yaml,然后选择RequestHandlerWSGIApplication.

的app.yaml

- url: /.*
  script: main.py
Run Code Online (Sandbox Code Playgroud)

main.py

from google.appengine.ext import webapp

class Page1(webapp.RequestHandler):
    def get(self):
        self.response.out.write("Page 1")

class Page2(webapp.RequestHandler):
    def get(self):
        self.response.out.write("Page 2")

application = webapp.WSGIApplication([
    ('/page1/', Page1),
    ('/page2/', Page2),
], debug=True)

def main():
    wsgiref.handlers.CGIHandler().run(application)

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

场景2:

这涉及app.yaml为每个(page1.pypage2.py)定义两个路由,然后定义两个单独的脚本.

的app.yaml

- url: /page1/
  script: page1.py
- url: /page2/
  script: page2.py
Run Code Online (Sandbox Code Playgroud)

page1.py

from google.appengine.ext import webapp

class Page1(webapp.RequestHandler):
    def get(self):
        self.response.out.write("Page 1")

application = …
Run Code Online (Sandbox Code Playgroud)

python performance google-app-engine yaml

17
推荐指数
2
解决办法
1390
查看次数

render_to_response给出了TemplateDoesNotExist

我正在使用模板的路径

paymenthtml = os.path.join(os.path.dirname(__file__), 'template\\payment.html')
Run Code Online (Sandbox Code Playgroud)

并在另一个将paymenthtml复制到payment_template的应用程序中调用它

return render_to_response(self.payment_template, self.context, RequestContext(self.request))
Run Code Online (Sandbox Code Playgroud)

但我得到错误

TemplateDoesNotExist at/test-payment-url /

E:\ testapp \模板\ payment.html

为什么会出现错误?

编辑:我在settings.py中进行了以下更改,它能够找到模板,但我不能硬编码生产中的路径,任何线索?

TEMPLATE_DIRS = ("E:/testapp" )
Run Code Online (Sandbox Code Playgroud)

python django django-templates

8
推荐指数
2
解决办法
1万
查看次数

什么是appengine_config.py

我是一个试图在GAE上构建应用程序的菜鸟.我的应用程序使用的django模板功能超出了0.96版本支持的功能.我无法使用内置的django 1.2库获取应用程序引擎(除了在开发服务器上).

我相信这篇文章可能会解决我的问题,除了我不知道appengine_config.py是什么.我想我应该把它包含在我的项目中,但是在哪里以及如何?除了上面提到的帖子中的片段之外,应该包含哪些内容?

谢谢!

google-app-engine

8
推荐指数
1
解决办法
2639
查看次数

如何使用use_library('django','1.2')

我正在学习使用Google App Engine进行开发.

这是教程中的代码之一,http://code.google.com/appengine/docs/python/gettingstarted/usingwebapp.html

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')

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

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()
Run Code Online (Sandbox Code Playgroud)

我的代码几乎相同.我有时会收到警告:

警告2011-06-30 13:10:44,443 init .py:851]您正在使用默认的Django版本(0.96).默认的Django版本将在不久的将来在App Engine版本中更改.请调用use_library()来显式选择Django版本.有关详细信息,请参阅http://code.google.com/appengine/docs/python/tools/libraries.html#Django

有人可以用use_library()来重新考虑上面的代码.我不知道如何开始以及在哪里使用use_library以及如何处理webapp.

提前致谢.

google-app-engine

3
推荐指数
1
解决办法
1528
查看次数