如何解决google appengine中的favicon.ico错误

时间:2013-10-07 19:57:53

标签: google-app-engine jinja2

我有一个非常基本的jinja模板,它可以正常显示htm,但是日志抱怨了favicon.ico,即使我在/和/ templates中都有。我做错了什么? 另外,我的css加载错误了吗?

import jinja2
import os
import logging
import webapp2

JINJA_ENVIRONMENT = jinja2.Environment(
loader=jinja2.FileSystemLoader(os.path.dirname(__file__)),
extensions=['jinja2.ext.autoescape'])

class MainHandler(webapp2.RequestHandler):

def get(self):
    path = self.request.path
    logging.info('from main %s', path)
    if (path=='/'):
      templa=JINJA_ENVIRONMENT.get_template('/templates/index.htm')
    else:
      templa=JINJA_ENVIRONMENT.get_template(path)
    try:
      self.response.write(templa.render({})) 

    except:
      self.response.out.write('Error - unable to find %s' % path)

app = webapp2.WSGIApplication([('/.*',MainHandler)],
 debug=True)

------只显示错误 INFO 2013-10-07 19:44:53,500 index4.py:44]来自main /templates/topics.htm INFO 2013-10-07 19:44:53,516 dev_appserver.py:3103]“GET /templates/topics.htm HTTP / 1.1”200 - INFO 2013-10-07 19:44:53,532 dev_appserver.py:3103]“获取/static/glike.css HTTP / 1.1”304 - 信息2013-10-07 19:44:53,609 index4.py:44]来自主/favicon.ico ERROR 2013-10-07 19:44:53,609 webapp2.py:1552]'utf8'编解码器无法解码位置142的字节0x96:无效的起始字节 Traceback(最近一次调用最后一次):   文件“C:\ Program Files \ Google \ google_appengine \ lib \ webapp2 \ webapp2.py”,第1535行,致电     rv = self.handle_exception(request,response,e)   文件“C:\ Program Files \ Google \ google_appengine \ lib \ webapp2 \ webapp2.py”,第1529行,通话     rv = self.router.dispatch(请求,响应)   在default_dispatcher中输入文件“C:\ Program Files \ Google \ google_appengine \ lib \ webapp2 \ webapp2.py”,第1278行     return route.handler_adapter(request,response)   文件“C:\ Program Files \ Google \ google_appengine \ lib \ webapp2 \ webapp2.py”,第1102行,致电     return handler.dispatch()   发送文件“C:\ Program Files \ Google \ google_appengine \ lib \ webapp2 \ webapp2.py”,第572行     return self.handle_exception(e,self.app.debug)   文件“C:\ Program Files \ Google \ google_appengine \ lib \ webapp2 \ webapp2.py”,第570行,发送     返回方法(* args,** kwargs)   在get中输入文件“C:\ projects \ apps \ ae-07-grades \ index4.py”,第48行     templa = JINJA_ENVIRONMENT.get_template(路径)   在get_template中输入文件“C:\ Program Files \ Google \ google_appengine \ lib \ jinja2 \ jinja2 \ environment.py”,第719行     return self._load_template(name,self.make_globals(globals))   在_load_template中输入文件“C:\ Program Files \ Google \ google_appengine \ lib \ jinja2 \ jinja2 \ environment.py”,第693行     template = self.loader.load(self,name,globals)   加载文件“C:\ Program Files \ Google \ google_appengine \ lib \ jinja2 \ jinja2 \ loaders.py”,第115行     source,filename,uptodate = self.get_source(environment,name)   get_source中的文件“C:\ Program Files \ Google \ google_appengine \ lib \ jinja2 \ jinja2 \ loaders.py”,第169行     contents = f.read()。decode(self.encoding)   在解码中文件“C:\ Python27 \ lib \ encodings \ utf_8.py”,第16行     return codecs.utf_8_decode(input,errors,True) UnicodeDecodeError:'utf8'编解码器无法解码位置142的字节0x96:无效的起始字节 INFO 2013-10-07 19:44:53,641 dev_appserver.py:3103]“GET /favicon.ico HTTP / 1.1”500 -

1 个答案:

答案 0 :(得分:2)

看起来jinja2正试图加载/favicon.ico作为jinja模板,并且正在窒息它。

处理/favicon.ico的常用方法是将其声明为app.yaml中的静态文件。

请参阅favicon.ico "not found error" in app engine