После некоторых реализаций API с использованием jsonrpclib в Python мне нужно перенести их в проект Django Framework. Я новичок в Django и Piston/tastypie, но имею некоторый опыт использования библиотек jsonrpc/xmlrpc в своих приложениях Python.
До сих пор я разработал несколько модулей с ServiceClass, прикрепленным к реестру сервера jsonrpc, который обрабатывает запрос и вызывает методы в ServiceClass.
Когда класс прикрепляется к реестру, создается новый экземпляр ServiceClass, загружающий все исходные данные и сохраняющий их в памяти, поэтому каждый метод, вызываемый через jsonrpc, может иметь доступ к внутренним значениям в этом экземпляре.
Теперь я пытаюсь сделать то же самое в Django с Piston или Tastypie. Я перешел по этой ссылке http://www.robertshady.com/content/creating-very-basic-api-using-python-django-and-piston и другие ресурсы, и вся прочитанная мной документация ясна и показывает правильный способ работы с ней:
- Измените url.py, чтобы сопоставить запросы, такие как «/api/», с определенным обработчиком.
- Добавьте handler.py в приложение API, расширяя BaseHandler Piston/Tastypie.
Поэтому мне интересно, правильный ли это способ работы с Django и API, чтобы создать экземпляр моего ServiceClass (инициировать данные, предоставить методы) внутри handler.py, когда я создаю экземпляр Handler, расширяющий BaseHandler. Этот класс Handler создается один раз при запуске сервера? Что, если мой ServiceClass полагается на какую-то модель для загрузки данных из нее?
Я хочу, чтобы структура не создавала экземпляр моего класса каждый раз, когда новый запрос поступает в приложение /api/.
Буду рад услышать любую рекомендацию, Спасибо,