这包括使用一个"门户"的路线app.yaml,然后选择RequestHandler在WSGIApplication.
- url: /.*
script: main.py
Run Code Online (Sandbox Code Playgroud)
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)
这涉及app.yaml为每个(page1.py和page2.py)定义两个路由,然后定义两个单独的脚本.
- url: /page1/
script: page1.py
- url: /page2/
script: page2.py
Run Code Online (Sandbox Code Playgroud)
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) 我正在使用模板的路径
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) 我是一个试图在GAE上构建应用程序的菜鸟.我的应用程序使用的django模板功能超出了0.96版本支持的功能.我无法使用内置的django 1.2库获取应用程序引擎(除了在开发服务器上).
我相信这篇文章可能会解决我的问题,除了我不知道appengine_config.py是什么.我想我应该把它包含在我的项目中,但是在哪里以及如何?除了上面提到的帖子中的片段之外,应该包含哪些内容?
谢谢!
我正在学习使用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.
提前致谢.