Использование django-rest-interface - PullRequest
20 голосов
/ 17 октября 2008

У меня есть приложение django, к которому я хотел бы добавить некоторые остальные интерфейсы. Я видел http://code.google.com/p/django-rest-interface/, но это выглядит довольно упрощенно. Например, кажется, что нет способа обеспечить безопасность. Как бы я ограничил то, что люди могут просматривать и манипулировать через интерфейс остальных? Обычно я ставлю такую ​​логику в свои взгляды. Это правильное место, или мне следует добавить немного логики в модель? В качестве альтернативы есть лучшая библиотека или мне нужно свернуть свою собственную?

Ответы [ 4 ]

12 голосов
/ 15 июня 2009

Я бы хотел использовать приложение django-pneon http://bitbucket.org/jespern/django-piston/wiki/Home, если безопасность - ваша главная задача.

В прошлом я использовал django-rest-interface, он надежный и хотя простой может быть довольно мощным, однако django-поршень кажется более гибким в будущем.

3 голосов
/ 18 октября 2008

Даже с параметром Authentication у вас нет детального контроля над тем, что могут делать люди. Текущая реализация интерфейса Django-REST не отслеживает пользовательскую информацию, поэтому у вас нет этой информации для выполнения детальных проверок авторизации.

См. Выпуск № 32 .

Однако его относительно легко расширить, чтобы добавить некоторые функции. Я использую много подклассов для добавления функций.

Обновление запроса с информацией для входа в Django довольно сложно. Вместо этого я оставляю информацию в Коллекции.

Прямо сейчас, я бы оценил, что между патчами и подклассами то, что я написал, примерно такое же большое, как выполнение моих собственных функций представления RESTful.

Django-REST, однако, изящно и аккуратно обрабатывает дайджест-аутентификацию HTTP. Я не собираюсь заменять их каким-то декоратором для моих функций просмотра Django.

[Может быть, нам следует открыть проект по созданию исходных текстов и произвести чистую замену?]

3 голосов
/ 18 октября 2008

Ну, с точки зрения вещей, есть параметр authentication до Collection. (см. этот пример: authentication.py )

Во-вторых, (даже если у Django его еще нет), вероятно, должно быть промежуточное программное обеспечение, которое выполняет проверку формы CSRF / XSRF. (О, кажется, будет один .) Вы также можете использовать login_required и permission_required декораторы в urls.py.

2 голосов
/ 16 августа 2012

Пожалуйста, взгляните на django-rest-framework, я только что перешёл от tastypie к этому новому фреймворку, отлично работает!

http://django -rest-framework.org /

Особенно на основе классов и доступных для просмотра API! и многие другие преимущества (например, для загрузки изображений)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...