Комментарии

Комментариев: 3

Paul Winex
Paul Winex

08.07.2018 16:00 #

Спасибо за ответ. Да я много чего там накосячил, может даже не добавил приложение. Но в данный момент всё уже работает. Только пришлось немного подшаманить с оригинальным сервером чтобы он правильно работал с EmailUser. Я читал в документации что он работает из коробки именно с таким юзером, но там остается обязательным наличие поля username, которого у меня нет. Пришлось немного покостылять . Вопрос всё равно имеется. Сейчас в дефолтной вьюшке Login происходит вызов метода login без указания backend, что приводит к ошибке, так как у нас в списке указано два бэкэнда и django не знает какой брать. Приходится явно указывать. Быть может гдето в недрах allauth есть готовый login метод с учётом данной особенности? Сейчас имеется в виду логин дефолтный через username+password без участия соц аккаунтов, то есть django.contrib.auth.backends.ModelBackend

Paul Winex
Paul Winex

01.07.2018 8:08 #

К сожалению форматирование кода в коменте слетело(

Paul Winex
Paul Winex

01.07.2018 8:07 #

Спасибо за статью. ПРобую настроить несколько соц сетей но пока ни одна не поддаётся. В частности с Vk пролема возникла в самом начале:
Добавил в settings приложение

...
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.vk',

url тоже проипсал. Создал приложение в базе с ID и ключём, там де доверенный url на localhost.
При переходе по ссылке авторизации
Войти через VK
вот такая ошибка

Internal Server Error: /accounts/vk/login/
Traceback (most recent call last):
  File "/home/paul/server/env/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner
    response = get_response(request)
  File "/home/paul/server/env/lib/python3.6/site-packages/django/core/handlers/base.py", line 128, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/paul/server/env/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/paul/server/env/lib/python3.6/site-packages/allauth/socialaccount/providers/oauth2/views.py", line 73, in view
    return self.dispatch(request, *args, **kwargs)
  File "/home/paul/server/env/lib/python3.6/site-packages/allauth/socialaccount/providers/oauth2/views.py", line 96, in dispatch
    app = provider.get_app(self.request)
  File "/home/paul/server/env/lib/python3.6/site-packages/allauth/socialaccount/providers/base.py", line 52, in get_app
    return SocialApp.objects.get_current(self.id, request)
  File "/home/paul/server/env/lib/python3.6/site-packages/allauth/socialaccount/models.py", line 34, in get_current
    provider=provider)
  File "/home/paul/server/env/lib/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/home/paul/server/env/lib/python3.6/site-packages/django/db/models/query.py", line 403, in get
    self.model._meta.object_name
allauth.socialaccount.models.DoesNotExist: SocialApp matching query does not exist.
[01/Jul/2018 07:58:51] "GET /accounts/vk/login/?method=oauth2 HTTP/1.1" 500 93073

Django 2, django-allauth 0.36.0, python 3.6

На данный момент нет специального поиска, поэтому я предлагаю воспользоваться обычной поисковой системой, например, Google, добавив "vivazzi" после своего запроса.

Попробуйте