我刚开始使用google app引擎使用webapp2框架和jinja2模板进行python。我似乎无法启动并运行我的第一个非常简单的脚本。我想要的只是让脚本提供index.html文件(位于同一目录中)。
这是app.yaml文件:
libraries
- name: webapp2
version: latest
- name: jinja2
version: latest
application: practice
version: 1
runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /.*
script: practice.application
这是practice.py:
import os
import webapp2
from jinja2 import Enviroment, FileSystemLoader
loader = jinja2.FileSystemLoader(os.path.dirname(__FILE__)
env = jinja2.Enviroment(loader)
class MainPage(webapp2.RequestHandler):
def get(self):
template = env.get_template('index.html')
self.response.write(template.render())
application = webapp2.WSGIApplication([
('/', MainPage),
], debug=True)
更新: 我在Google应用引擎启动器中本地运行此功能。 当我尝试打开文件时,收到服务器错误,其中包含描述
The website encountered an error while retrieving http://localhost:9080/. It may be
down for maintenance or configured incorrectly."
答案 0 :(得分:1)
这就是您的代码无法运行的原因:
以下是我认为您的代码应该是这样的:
的app.yaml
application: practice
version: 1
runtime: python27
api_version: 1
threadsafe: true
libraries:
- name: webapp2
version: latest
- name: jinja2
version: latest
handlers:
- url: /.*
script: practice.application
practice.py
import jinja2
import os
import webapp2
loader = jinja2.FileSystemLoader(os.path.dirname(__file__))
env = jinja2.Environment(loader=loader)
class MainPage(webapp2.RequestHandler):
def get(self):
template = env.get_template('index.html')
self.response.write(template.render())
application = webapp2.WSGIApplication([
('/', MainPage),
], debug=True)
我建议你做以下事情,让你的生活更轻松:
希望这有助于您前进。
快乐编码:)
答案 1 :(得分:0)
在 webapp2 中,您应该使用应用代替应用,因此最后一行应如下所示:
app = webapp2.WSGIApplication([('/', MainPage),], debug=True)