在Google App Engine上模板化的Django不起作用

时间:2013-07-20 22:12:34

标签: python django google-app-engine

我在GAE上部署了一个应用程序,并尝试合并Django模板。该应用程序在我模板化HTML之前工作,但似乎服务器无法找到正确的模板。我在Web上看过其他解决方案:大多数都使用我不使用的设置文件,因为我宁愿有几行内联而不是维护一个单独的文件。

这是我的main.py现在的样子:

import webapp2
import database
import os
from django.template import Context, Template, loader
from django.conf import settings

PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))

#Define template loaders used to load HTML templates
TEMPLATE_LOADERS_STRING = (
'django.template.loaders.filesystem.loader',
'django.template.loaders.app_directories.loader',
) 

#Since this is a stand alone platform, set Django settings here
template_directory = os.path.join(PROJECT_PATH, 'Templates')
settings.configure(DEBUG = True, TEMPLATE_DEBUG = True, TEMPLATE_DIRS = template_directory))

class MainHandler(webapp2.RequestHandler):
    def get(self):   
        #some code here

        t = loader.get_template('main.html')
        c = Context ({"data_entries": database.Music.query()})
        MainPageHTML = t.render(c)  
        self.response.write(MainPageHTML)

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

如果我将t = loader.get_template('main.html')更改为硬编码的绝对路径,则会找到模板。

我从服务器获取的错误消息是:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 1535, in __call__
    rv = self.handle_exception(request, response, e)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 1529, in __call__
    rv = self.router.dispatch(request, response)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 1278, in default_dispatcher
    return route.handler_adapter(request, response)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 1102, in __call__
    return handler.dispatch()
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 572, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "C:\Program Files (x86)\Google\google_appengine\lib\webapp2-2.5.2\webapp2.py", line 570, in dispatch
    return method(*args, **kwargs)
  File "D:\Jawad\JRJ\main.py", line 43, in get
    t = loader.get_template('main.html')
  File "C:\Program Files (x86)\Google\google_appengine\lib\django-1.5\django\template\loader.py", line 146, in get_template
    template, origin = find_template(template_name)
  File "C:\Program Files (x86)\Google\google_appengine\lib\django-1.5\django\template\loader.py", line 139, in find_template
    raise TemplateDoesNotExist(name)
TemplateDoesNotExist: main.html

有什么想法吗?

0 个答案:

没有答案