简体   繁体   中英

App works on Local host but not on appspot

I'm working on having a user authenticate on my webpage using Foursquare, once they are redirected back to my webpage the information recieved back is parsed out of the URL. This works perfect on localhost but when I deploy it I get the following error

    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

The line in my code that seems to cause it is when I try to doRender(self, '500.html') This is the doRender method

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))

and the template is as follows

{% extends "index.html" %} 
{% block bodycontent %}
Server Error
      <p>
      There has been an error
      </p>
{% endblock %}

Do you have an '/_ah/login_required' handler setup in your app.yaml file?

I'm assuming you've turned on Federated Login to allow Foursquare credentials. If so you need to define your own login handler in order for it to work on appspot (localhost uses different login handling).

ex:

handlers:
- url: /_ah/login_required
  script: do_openid_login.py
TemplateSyntaxError: Unclosed tags: endblock, endblock bodycontent

tells you where at least one issue is. Close the endblock :

{% endblock %}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM