Частично на форуме который стоит на pydev.ru и на котором базируется новый форум на python.su. Ну вот я взял у python.su и переделал в очередной раз, но чисто под свой сайт, а не как 3rd party приложение.
Я пока и сам не придумал зачем регистрироваться :) На самом деле регистрироваться совсем не обязательно, авторизация нужна только там где без неё действительно никак (создать топик, написать статью или отписать коммент). В остальном же права анонимного пользователя не ущемляются.
ну если не считать OAuth, Facebook и Вконтакте.ру. А так да, email не нужен. Разве что если вы захотите что бы ваш аватар с сайта gravatar показывался, то можете потом в редактировании профиля указать емэйл. Никаких оповещений на емэйл не рассылается и вообще в других целях кроме gravatar'а не используется.
Я думаю мне не стоит обсуждать чужие сайты, ведь вы по сути просите рассказать чем эти сайты хуже. Я считаю что критиковать нужно объективно, а мне как конкуренту трудно судить объективно.
Да, есть два живых форума, на python.su и у Сагалаева. Насчёт того что вот-вот скоро… Уже пол года висит объявление, а так как я общаюсь ежедневно с создателем этого движка, то знаю что вот вот ещё очень долго будет наступать, если наступи вообще :)
Ну в принципе так и задумывалось. По идее там до ошибки написано словами из каких символов может состоять логин, а сама ошибка уже в виде питоновской регулярки.
Я делаю через фильтр, просто передаю ему request и всё.
@register.filter
def local_time(date, request):
if request.user.is_anonymous() or not isinstance(date, datetime.datetime):
return date
timezone = pytz.timezone(request.user.profile.timezone.title)
date = pytz.datetime.datetime(date.year, date.month, date.day, date.hour, date.minute, tzinfo=pytz.utc)
return date.astimezone(timezone)
Я категорически не согласен. Во-первых из цитаты пользовательского соглашения не совсем понятно что именно ограничивается, весь сайт или только приложение? Там написано про приложение, то есть если Вы используете OpenAPI для продажи какой то услуги связаной с вконтакте (например продаёте подарки друзьям юзера) то можете платить только через деньги вконтакте, но если вы продаёте хлеб и при продаже OpenApi никак не задействован — нет никакого нарушения.
Во-вторых OpenAPI сделан для работы с данными юзера, а не для аутентификации. Это свойство не может предоставить OpenID. На данный момент для этого существует OAuth ну и может ещё какие то гибриды OpenID с OAuth о которых иногда пробегает информация в интеренете.
То что они хотят захватить рынок виртуальной валюты это конечно не вызывает сомнений, а кто не хочет? Но OpenAPI я думаю здесь не причём :)
OpenID это для аутентификации, а Open API для авторизации, но люди заодно используют это и как средство для аутентификации. Различается это всё тем что по идее после авторизации по Open API вы разрешаете сайту творить с вашим эккаунтом определённые действия, например изменять статус за вас или ещё какие то действия. Здесь больше уместно сравнение с технологией OAuth, чем с OpenID.
Но то что у них велосипед… Я бы не сказал, велосипед сделал FaceBook у которого они его и взяли, так что получается они не городили своё, а взяли уже готовую вещь (теоретически готовую).
Только что специально для вас сделал проект без дополнительных полей, всё замечательно работает. Вот код pyplanet.org/static/auth_example2.tar.gz как установить этот проект я писал в статье
Без save'а невозможно это сделать, юзера же надо создать, внести в базу так сказать. Как вы себе представляете логин/авторизацию вообще без сохранённых данных? Другое дело что второй шаг не должен показываться если полей в форме ExtraForm не существует, а просто сразу вызывать save и перекидывать человека на другую страницу уже залогениным.
После того как человек зарегистрировался, в следующие разы конечно никакие save не будут вызываться, потому что человек не дойдёт вообще до этой вьюшки, а залогинет его на этапе ранее.
Выставьте код на dumpz.org, покажите ваш файл настроек + вашу форму
Путь до новой формы глявное что бы не был таким — «forms.ExtraForm», иначе первым делом он будет искать такую форму в папке publicauth и соответсвенно вместо вашей формы вызовет её. В общем главное что бы этот стринг отличался.
Кстати, хотел спросить, а на какой timezone вы устанавливаете сам проект? Имеется ввиду настройка settings.TIME_ZONE
Professional, is somebody who learn more and more about less and less, until he realize that he doesnt know nothing about anything.
Во-вторых OpenAPI сделан для работы с данными юзера, а не для аутентификации. Это свойство не может предоставить OpenID. На данный момент для этого существует OAuth ну и может ещё какие то гибриды OpenID с OAuth о которых иногда пробегает информация в интеренете.
То что они хотят захватить рынок виртуальной валюты это конечно не вызывает сомнений, а кто не хочет? Но OpenAPI я думаю здесь не причём :)
Но то что у них велосипед… Я бы не сказал, велосипед сделал FaceBook у которого они его и взяли, так что получается они не городили своё, а взяли уже готовую вещь (теоретически готовую).
После того как человек зарегистрировался, в следующие разы конечно никакие save не будут вызываться, потому что человек не дойдёт вообще до этой вьюшки, а залогинет его на этапе ранее.
Выставьте код на dumpz.org, покажите ваш файл настроек + вашу форму
bitbucket.org/offline/django-publicauth/src/tip/publicauth/forms.py#cl-22
замените username=self.cleaned_data['username'] на username=identity или username="%s-%s" % (provider, identity)
Джанга не позволит совсем без юзернэйма создать запись в базе, так как на неё у джанги стоит unique=True.
Путь до новой формы глявное что бы не был таким — «forms.ExtraForm», иначе первым делом он будет искать такую форму в папке publicauth и соответсвенно вместо вашей формы вызовет её. В общем главное что бы этот стринг отличался.