Я бы сказал, нет, не используйте API для версии HTML.Если вы хорошо спроектируете Django, вы можете получить меньше кода, чем использовать API для HTML-версии.Вы также можете сохранить возможность веб-дизайнера работать с шаблонами Django всякий раз, когда начальник хочет, чтобы написание чего-то изменилось.
Я бы предложил попытаться определить базовое приложение для вашего приложения iPhone для взаимодействия, а затем расширить его во втором приложении для версии HTML.App1
будет иметь все ваши модели (включая бизнес-логику) и views.py
для обработки данных на / с iPhone.Затем создайте App2
, который использует App1.models
, но создает свой собственный views.py
.Если вам повезет, вы обнаружите, что можете изменять только шаблон, используемый для визуализации вывода, поэтому вы можете повторно использовать свои представления, передавая шаблон в качестве аргумента.
Например:
Просмотров приложения:
def list(request, template="list.json"):
list = Model.objects.filter(deleted=False).filter(user=request.user)
list.reverse()
## Lots of other logic to work on the list.
return render_to_response(template, {list: list,})
Просмотров приложения:
def list(request, template="list.html"):
return App1.views.list(request, template=template)