Вам нужно просто указать путь до своей EXTRA_FORM, в которой может не быть вообще полей, а только метод save(). Как я уже писал в одном комментарии если дополнительные данные не нужны или их достаточно из вытянутых то второй шаг пропустится. Так что создайте новый класс формы и укажить путь до него в настройках EXTRA_FORM или сделайте сабкласс и удалите в нём поле юзернэйм. наверное это делается так
def __init__(self):
del self.base_fields['username']
super(YourClass, self).__init__()
Да, создаётся обычный юзер из django.contrib.auth.models.User и вдобавок есть ещё одна моделька. Вы можете глянуть метод save() у класса в файле forms.py приложения publicauth.
В одном из комментариев я как раз написал, что вечно путаю эти два понятия. Но в случае с Вконтакте это всё таки авторизация которую я использую как аутентификацию. То же самое и с провайдерами oAuth.
Я честно говоря для авторизации всегда выбираю OpenID, потому что именно для этого он и был сделан. Хотя может он и для аутентификации сделан, я вечно путаю эти два слова :)
Да, у одного из десяти примерно случается такая проблема, честно говоря не знаю куда копать… Наверное просто подожду пока в интернете появится хотя бы пояснение проблемы, а может это баг на стороне вконтакте.ру и проблема сама решится.
Именно бэкенд от Вконтакте.ру не умеет дополнительную инфу вытаскивать, просто потому что я не нашёл хорошей библиотеки на питоне для работы с их API. В OpenId, OAuth и FacebookConnect такая возможность есть, нужно просто указать в настройках. О том что конкретно нужно указать написано на вики от django-publicauth. Ещё один интересный момент — если стянутой дополнительной инфы достаточно для создания профиля, то дополнительный шаг не понадобится, сразу создастя профиль и юзера авторизирует.
Хорошо, сделаю чистый проект только с авторизацией и пару дополнительными полями профиля и выставлю где нибудь.
Успехов вам! Теоретически как мне кажется правильные методы выбраны (значит создатель которые несколько лет следил за тенденциями очень хорошо всё проанализировал), а вот реализация пока оставляет желать лучшего… Но надеюсь в скором времени вы сделаете сервис удобней и лучше, главное что по правильному пути идёте!
Нашёл в себе силы установить демку, в хроме сама кнопка добавления не работает, вместо неё идёт стандартная, в фаерфоксе кнопка аплоада появляется, но после выбора и сохранения объекты не добавляются. Как будто просто пропадают данные…
Хмм… А что если работать стоя? Поставить клавиатуру на стол что бы удобно рукам было и подвесить монитор на стенку прямо напротив глаз… Спину разгружаем, загружаем я так понимаю ноги… шило на мыло?
def __init__(self):
del self.base_fields['username']
super(YourClass, self).__init__()
bitbucket.org/offline/django-publicauth/src/tip/publicauth/views.py#cl-41
bitbucket.org/offline/django-publicauth/src/tip/publicauth/backends/vkontakte.py
ну и наверное стоит глянуть класс от которого наследуется последний файл.
Хорошо, сделаю чистый проект только с авторизацией и пару дополнительными полями профиля и выставлю где нибудь.