Alexey Kuzmin: Так пусть пользователь авторизуется через ваш сервер, который уже будет отправлять на FB, FB колбэком будет отправлять токен на сервер, а сервер приложению.
baterson: Просто функции проще осознаются. В хороших проектах только CBV, ибо можно избавиться от кучи рутины. Например: хочешь ты сделать так, чтобы к этой вьюхе был доступ только у юзеров с флагом access=True, ты делаешь mixin:
class AccessMixin(object):
def dispatch(self, request, *args, **kwargs):
if not request.user.access:
raise PermissionDenied
return super(AccessMixin, self).dispatch(request, *args, **kwargs)
И наследуешь все вьюхи, которые должны иметь такой контроль ещё и от этого миксина (кстати, миксины - тоже очень полезная и интересная штука).
В арсенале же Django ещё несколько CBV, которые делают большое количество рутины. Например: нужно тебе выдать список объектов - используй ListView, нужно создать - CreateView. Короче, почитай доки - там и про CBV и про миксины очень хорошо описано.