应用程序适用于本地主机,但不适用于appspot
我正在努力使用Foursquare在我的网页上进行用户身份验证,一旦它们重定向回到我的网页,接收到的信息将从URL中解析出来。这完美的作品在本地主机上,但是当我部署它,我收到以下错误应用程序适用于本地主机,但不适用于appspot
Traceback (most recent call last):
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 634, in __call__
handler.get(*groups)
File "/base/data/home/apps/hoosheer/4.349803081119561985/hoosheer_main.py", line 34, in get
foursquareMethods.foursquareDetails(self)
File "/base/data/home/apps/hoosheer/4.349803081119561985/foursquareMethods.py", line 40, in foursquareDetails
doRender(self, '500.html')
File "/base/data/home/apps/hoosheer/4.349803081119561985/foursquareMethods.py", line 67, in doRender
handler.response.out.write(template.render(path, template_values))
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/template.py", line 72, in render
t = load(template_path, debug)
File "/base/python_runtime/python_lib/versions/1/google/appengine/ext/webapp/template.py", line 100, in load
template = django.template.loader.get_template(file_name)
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/loader.py", line 80, in get_template
template = get_template_from_string(source, origin, template_name)
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/loader.py", line 88, in get_template_from_string
return Template(source, origin, name)
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 158, in __init__
self.nodelist = compile_string(template_string, origin)
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 174, in compile_string
return parser.parse()
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 273, in parse
compiled_result = compile_func(self, token)
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/loader_tags.py", line 154, in do_extends
nodelist = parser.parse()
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 273, in parse
compiled_result = compile_func(self, token)
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/loader_tags.py", line 132, in do_block
nodelist = parser.parse(('endblock', 'endblock %s' % block_name))
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 280, in parse
self.unclosed_block_tag(parse_until)
File "/base/python_runtime/python_lib/versions/third_party/django-0.96/django/template/__init__.py", line 318, in unclosed_block_tag
raise self.error(None, "Unclosed tags: %s " % ', '.join(parse_until))
TemplateSyntaxError: Unclosed tags: endblock, endblock bodycontent
UPDATE
这似乎导致它,当我尝试doRender(self, '500.html')
这是doRender在我的代码行方法
def doRender(handler, tname, values = { }):
template_values = dict(values)
handler.session = Session()
if 'access_token' in handler.session:
template_values['access_token'] = handler.session['access_token']
path = os.path.join(os.path.dirname(__file__), tname)
handler.response.out.write(template.render(path, template_values))
和模板是如下
{% extends "index.html" %}
{% block bodycontent %}
Server Error
<p>
There has been an error
</p>
{% endblock %}
你的app.yaml文件中有'/ _ah/login_required'处理程序设置吗?
我假设您已启用联合登录以允许Foursquare凭据。如果是这样,你需要定义你自己的登录处理程序,以便它在appspot上工作(本地主机使用不同的登录处理)。
例如:
handlers:
- url: /_ah/login_required
script: do_openid_login.py
我没有联合登录,我甚至不知道登录处理在appspot上有所不同,您能否将我认为有用的任何文档链接到我?目前我正在阅读http://sites.google.com/site/oauthgoog/UXFedLogin/summary和http://code.google.com/googleapps/domain/sso/openid_reference_implementation.html – qwop 2011-04-17 10:53:15
@qwop查看身份验证“用户概述”文章的部分内容([link](http://code.google.com/appengine/docs/python/users/overview.html))。还有一篇关于在GAE中使用联合登录的更深入的文章:([link](http://code.google.com/appengine/articles/openid.html)) – 2011-04-18 00:50:54
TemplateSyntaxError: Unclosed tags: endblock, endblock bodycontent
告诉你,其中至少有一个问题是。关闭endblock
:
{% endblock %}
您是否重定向回appspot而不是本地主机? – hyperslug 2011-04-16 17:40:53
@hyperslug是的,我改变它,以便它重定向到appspot – qwop 2011-04-16 22:26:33
包括实际的堆栈跟踪 - 而不是引发异常的框架代码行 - 以及有问题的源代码和模板。 – 2011-04-18 03:05:08