2010-06-25 2 views
0

я получил следующий очень простой шаблон:Entity существует, пустой шаблон возвращается

<html> 
<head> 
</head> 
<body> 

<div> 
<!-- Using "for" to iterate through potential pages would prevent getting empty strings even if only one page is returned because the "page" is not equal the query, it is a subcomponent of the query --> 
<div>{{ page.name }}</div> 
<div>{{ page.leftText }}</div> 
<div>{{ page.imageURL }}</div> 
<div>{{ page.rightText }}</div> 
</div> 

</body> 
</html> 

И очень простой модели:

class Page(db.Model): 
name = db.StringProperty(required=True) 
leftText = db.TextProperty() 
rightText = db.TextProperty() 
imageURL = db.LinkProperty() 

И самые основные Обработчики:

class BaseRequestHandler(webapp.RequestHandler): 
    ####### 
class PageContentLoadRequestHandler(BaseRequestHandler): 

def renderPage(self, values): 
    directory = os.path.dirname(__file__) 
    path = os.path.join(directory, 'templates', 'simple_page.html') 
    return template.render(path, values, True) 

def get(self): 
    page = db.get('aghwc21vZWJlbHIKCxIEUGFnZRgBDA') 
      #alternative code 
      # page db.get(db.key(self.request.get('key'))) 
      # The solution is to call/fetch the wanted object/query 
    data = page.get() # or ... = Page.gql("GQL CODE").fetch(1) 
    values = {'page': page} 
    template_name = "simple_page.html" 
    return self.response.out.write(self.renderPage(values)) 

Ключ просто случайно извлечен из моего хранилища, это реальный существующий ключ заполненного объекта. Идея состоит в том, чтобы динамически загружать содержимое страницы в документ через AJAX, проблема в том, что этот обработчик возвращает пустой шаблон. Нет ОШИБКИ, 200 HTTP-код, ключ существует и т. Д. И т. Д. И т. Д. Я полностью сломлен и немного раздражен такими проблемами, потому что я не знаю, где это может быть.

С уважением,

EDIT: Изменение значений шаблона для там правильных названий, теперь я получаю следующее ERRO:

values = {'page': page, 'name': page.name,} 
AttributeError: 'NoneType' object has no attribute 'name' 

ответ

2

Ваших свойства называются 'leftText', 'rightText' и «ImageUrl ', но вы пытаетесь распечатать' left_text ',' right_text 'и' image_url '. Django в своей бесконечной мудрости просто возвращает пустую строку, когда вы пытаетесь получить доступ к свойству, которое не существует, вместо того, чтобы бросать исключение.

+0

Я получаю «новую» ошибку, см. Выше. –

+3

Ваша новая проблема вызвана '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' на '' '' '' '' ''. –

+0

Наконец-то я получил все, я думаю, что я недостаточно сконцентрировался и наткнулся на более или менее «опечатки» и более мелкие ошибки структуры. Спасибо за вашу поддержку. –

Смежные вопросы