И так, появилась задача — выводить аватар пользователя при авторизации через соц. сети. Что в данный момент: • Настроил авторизацию по гайду Как добавить аутентификацию через социальные сети. ВКонтакте
• Авторизация пользователя проходит успешно
• Добавляем настройку SOCIAL_AUTH_PIPELINE в settings.py
• Добавил функцию (отдельно) которая получает ссылку аватарки при авторизации: settings.py
SOCIAL_AUTH_PIPELINE = ( ‘social_core.pipeline.social_auth.social_details’, ‘social_core.pipeline.social_auth.social_uid’, ‘social_core.pipeline.social_auth.auth_allowed’, ‘social_core.pipeline.social_auth.social_user’, ‘social_core.pipeline.user.get_username’, ‘social_core.pipeline.user.create_user’, ‘social_core.pipeline.social_auth.associate_user’, ‘social_core.pipeline.social_auth.load_extra_data’, ‘social_core.pipeline.user.user_details’, ‘blog.pipeline.get_avatar’, #Указываем путь, где лежит функция получения аватара. )
def get_avatar(backend, response, user=None, *args, **kwargs): url = None if backend.name == ‘vk-oauth2’: url = response.get(‘photo’, ») if url: user.avatar = url user.save() print (user.avatar)
В консоле получаем ссылку на изображение пользователя, который проходит авторизацию/аутентификацию:
Сохранённые фотографии Вконтакте
https://sun9-2.userapi.com/c857628/v857628128/1e4d00/9v4lVL5AESM.jpg
Картинку получили. Собсна в чем пробелмы: Не могу вывести в шаблон результат этой функции. Модификации User нет, есть только Profile: models.py
class Profile(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE) image = models.ImageField(default=’default.jpg’, upload_to=’profile_pics’,) def __str__(self): return f’ Profile’ def save(self, *args, **kwargs): super(Profile, self).save(*args, **kwargs)
Вопросы: Как мне расширить модель User, чтобы появилась возможность сохранять полученную ссылку на изображение к текущему пользовтаелю?
Как мне вывести/получать доступ в шаблоне к этой переменной/ссылке на изображение? Буду благодарен за любую помощь
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
Источник: evileg.com
Вывод изображений как у вк? [закрыт]
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.
Вопросы-опросники запрещены на Stack Overflow на русском. Для получения ответа, перефразируйте ваш вопрос так, чтобы на него можно было дать однозначно правильный ответ.
Закрыт 7 лет назад .
Здравствуйте. Как сделать вывод изображений как у вк? Есть у кого нибудь похожий алгоритм ресайза изображений для вывода?
илиКак сделать так чтобы фотографии со стены не отображались в моих фотографиях.
Источник: ru.stackoverflow.com
Как отобразить фотографий из альбома ВК на своем сайте через javascript?
Нууу друг мой, тут конкретных примеров не покажешь, тут либо умеешь пользоваться такими инструментами или нет.
В документации, что вы скинули, лишь описание команд, а структура документа не указана. Как получить json файл? Как выглядит команда на js?
типа let photo = cmd(json_parse(vk.api.getphoto(album_id = 123456789)));
olifem, ну дядь, ты чего, https://vk.com/dev/api_requests. Написано «Чтобы обратиться к методу API ВКонтакте, Вам необходимо выполнить POST или GET запрос такого вида:.
Вот тебе учебник, где написано как делать HTTP запросы.
Источник: qna.habr.com