TemplateNotFound:在Google应用引擎上部署网站时出现模板/ HomePage.html错误,但网站在本地主机上运行时运行正常

时间:2017-09-07 14:18:16

标签: python html css google-app-engine

我正在尝试部署我的个人网站,但是当我在本地主机上运行我的网站时,我遇到了一个大错误。一切运行正常。但我通过Google App部署了我的网站,但它不起作用。我一直在Here is a screenshot of the error I get

下面收到此错误

我不知道为什么这样做是因为Homepage.html文件位于模板文件夹中。 This a screenshot of my file path and the Python code I wrote。 这是我写的代码

import jinja2
import os
import webapp2
import logging
from google.appengine.api import users
from google.appengine.ext import ndb
import datetime
import json
import unicodedata
from google.appengine.api import users

 # the two lines of code below makes the jinja work
jinja_environment = jinja2.Environment(loader=
    jinja2.FileSystemLoader(os.path.dirname(__file__)))

class HomePage(webapp2.RequestHandler):
    def get(self):
        template = 
jinja_environment.get_template('templates/HomePage.html')
        self.response.write(template.render())

class AboutMe(webapp2.RequestHandler):
    def get(self):
        template = jinja_environment.get_template('templates/Aboutme.html')
        self.response.write(template.render())

class Contact(webapp2.RequestHandler):
    def get(self):
        template = jinja_environment.get_template('templates/Contact.html')
        self.response.write(template.render())


class Projects(webapp2.RequestHandler):
    def get(self):
    template = 
jinja_environment.get_template('templates/Projects.html')
        self.response.write(template.render())

app = webapp2.WSGIApplication([
    ('/', HomePage), #HomePage
    ('/AboutMe.html',AboutMe),
    ('/Contact.html',Contact),
    ('/Projects.html',Projects)

], debug=True)
}

这是我的app.yaml文件

application: israel-ali
version: 1
runtime: python27
api_version: 1
threadsafe: yes
# order matters always have this order
handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico

- url: /resources
  static_dir: static_folder

- url: .*
  script: main.app

libraries:
- name: jinja2
  version: latest
- name: webapp2
  version: "2.5.2"

[在此输入图像说明] [3]

2 个答案:

答案 0 :(得分:2)

文件名在GAE上区分大小写。

您的代码会搜索名为HomePage.html的模板和(我怀疑的)实际模板名为Homepage.html。您对Aboutme.htmlAboutMe.html存在类似问题。

您只需要使用.get_template()中的实际文件名。

答案 1 :(得分:2)

您在本地使用的操作系统是否不会将文件名中的大小写视为重要?如果是这样,那些template_get行需要指定与文件系统完全相同的文件名