Как лучше всего создать веб-сервис и админ-сайт для единой базы данных? - PullRequest
3 голосов
/ 20 января 2012

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

Задача веб-сервиса - обрабатывать запросы пользователей по различным протоколам (xmpp, icq и т. Д.), Получая данные из базы данных и обновляя их (например,продать или посмотреть информацию о товаре).Задача admin-site - показать статистику этих запросов и администрировать базу данных (показать таблицы, вставить строки, выполнить резервное копирование и т. Д.)

Для создания сайта я выбираю django.И здесь возникает дилемма.С одной стороны, вероятно, лучше отделить сайт от сервиса.С другой стороны, у django есть отличные инструменты для работы с БД, и его модели, вероятно, могут дать возможность избежать копирования-вставки.Но я не нашел ни одного приложения, содержащего как сервис, так и сайт, и поэтому сомневаюсь, нормально ли это или вообще возможно.

Любые мысли по этому поводу высоко ценятся: создавать или не сервис и сайт в одном приложении,или что было бы лучше для этой модели.

1 Ответ

1 голос
/ 20 января 2012

Django создан для веб-разработки.Он имеет очень надежную библиотеку Http, которая может respond в различных форматах, таких как JSON,javascript.. и т. Д., И, как вы упомянули, django имеет ORM для работы с базой данных, которая является объектно-ориентированной.

Можем ли мы построить сайт и сервис с django ?.

Послушайте, как я на это смотрю, вы можете настроить администратора со статистикой и всем, используя django-admin, и вы можете использовать views и url's в django для написания ваших веб-сервисов. Views.py:

def mywebservice(request):
    ....
    return HttpResponse(data,mimetype)

urls.py:

urlpatterns = patterns('', 
(r'^mywebservice/$','myapp.views.mywebservice')

Для подробных примеров быстрый поиск в Google приведет вас к эта страница.

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