Почему мои странные результаты рендеринга пользовательского объекта?

#python #google-app-engine #facebook-graph-api #bug-tracking

#python #google-app-engine #facebook-graph-api #отслеживание ошибок

Вопрос:

По какой-то причине моя переменная {{current_user.name}} ничего не отображает, и {{username}} вместо Niklas R отображается переменная `(u’Niklas R’,) на странице, которую я отображаю с помощью django. Вот метод из базового обработчика, с которым, я надеюсь, вы можете сказать мне, что не так:

 def render(self, name, **data):
    """Render a template"""
    if not data:
        data = {}
    data[u'js_conf'] = json.dumps({
        u'appId': facebookconf.FACEBOOK_APP_ID,
        u'canvasName': facebookconf.FACEBOOK_CANVAS_NAME,
        u'userIdOnServer': self.user.user_id if self.user else None,
    })
    data[u'logged_in_user'] = self.user
    data[u'message'] = self.get_message()
    data[u'csrf_token'] = self.csrf_token
    data[u'canvas_name'] = facebookconf.FACEBOOK_CANVAS_NAME
    logging.debug('user object: ' str(self.current_user))
    data[u'current_user']=self.current_user,
    data[u'username']=self.current_user.name,
    data[u'facebook_app_id']=FACEBOOK_APP_ID
    self.response.out.write(template.render(
        os.path.join(
            os.path.dirname(__file__), 'templates', name   '.html'),
        data))
  

Ответ №1:

Это происходит со мной постоянно, у вас есть лишняя, и переменная становится кортежем.

измените строки на:

 data[u'current_user']=self.current_user
data[u'username']=self.current_user.name
  

Комментарии:

1. Большое вам спасибо за то, что вы так быстро его нашли.