Недавно я заметил очень тревожную проблему.
У меня есть следующий код Python:
for cat in cats:
cat.pages = ['apple', 'table', 'computer']
template_values = {
'cats': cats
}
path = os.path.join(os.path.dirname(__file__), 'templates/index.html')
self.response.out.write(template.render(path, template_values))
Шаблон index.html django выглядит следующим образом:
{% for cat in cats %}
<div>{{ forloop.counter }}</div>
<div>name: {{ cat.cat_name }}</div>
<div>pages: {{ cat.pages|length }}<br>
{% endfor %}
Когда я запускаю приведенный выше код локально с GAE SDK, я получаю следующий пример:
1.
name: sample1
pages: 3
2.
name: sample2
pages: 3
и т.д.. Я даже могу создать вложенный цикл, так как я могу получить доступ к cat.pages внутри цикла.
Однако, когда я загружу этот код в AppEngine, я получу следующие результаты:
1.
name: sample1
pages: 0
2.
name: sample2
pages: 0
И я вообще не могу получить доступ к переменной cat.pages. Что не так с моим кодом? Или это ошибка? Он работает локально, как и ожидалось, но выдает этот странный результат после развертывания на серверах GAE. Любая помощь приветствуется.