Мой опыт через C++ и Java, хотя в наше время я работаю в PHP. Мои общие эмпирические правила, которые я использую для PHP и C++:
, Если у Вас должна быть членская переменная быть читаемыми снаружи класса, но не перезаписываемыми: используйте getVariableX () только.
, Если Вы хотите позволить членским переменным изменяться/читаться за пределами класса, но нуждаться в дополнительной работе, выполненной на них прежде чем/после того, как их значения изменяются: используйте setVariableX () и getVariableX ().
, Если бы членская переменная может быть изменена снаружи класса и установить/получить методов, просто было бы простое присвоение: просто обнародуйте переменную, поскольку это - то, с чем Вы сделали бы так или иначе, устанавливал/получал (только более запутываемым способом).
Примечание, что, если Ваш добраться и методы установки делают намного больше, чем тривиальное получение и установка, то необходимо, вероятно, переименовать их, чтобы более точно описать их функцию.
Причина, по которой сеансы django не поддерживаются механизмом приложений из коробки, заключается в том, что django использует сеансы на основе таблиц (моделей) базы данных, а django ORM не поддерживается на appengine.
A Решение этой проблемы - заставить модели django работать из коробки в appengine. И это было сделано путем исправления кода django в проекте App Engine Patch .
Используя этот патч, при работе моделей django вы получаете доступ к администратору django, django auth вместе с последней версией django .
Вы также можете найти это сообщение в блоге о развертывании приложения django на движке приложений, полезным: http://uswaretech.com/blog/2009/04/develop-twitter-api-application-in-django -and-deploy-on-google-app-engine /
Библиотека gaeutilities поставляется с классом управления сеансом, который хорошо работает: