Интересуюсь данной тематикой давно, прочитал уже кучу информации с разных источников (Хабра, СтакОверФлов, Медиум и многое другое), и как бы по отдельности все понятно, а собрать все в целостную картину не могу.
В этом случае расшаривание папок никак не поможет.
А зачем вам сохранять по такому сложному пути?
Не проще сохранять в корень диска? Или в папку в корне диска?
А если уж нужно сохранять именно на рабочий стол, кто мешает в корне диска сделать симлинк на рабочий стол?
class Student(models.Model):
FRESHMAN = 'FR'
SOPHOMORE = 'SO'
JUNIOR = 'JR'
SENIOR = 'SR'
YEAR_IN_SCHOOL_CHOICES = (
(FRESHMAN, 'Freshman'),
(SOPHOMORE, 'Sophomore'),
(JUNIOR, 'Junior'),
(SENIOR, 'Senior'),
)
year_in_school = models.CharField(max_length=2,
choices=YEAR_IN_SCHOOL_CHOICES,
default=FRESHMAN)
def is_upperclass(self):
return self.year_in_school in (self.JUNIOR, self.SENIOR)
На фронт-енде я поставил GAPI (https://apis.google.com/js/api.js) который у Гугл отвечает за аутентификацию (включая Ютуб и другие Гугл сервисы).
Справочник по АПИ: https://developers.google.com/api-client-library/j...
Если пользователь вводит имеил/пароль - отправляем прямиком на бекенд для авторизации.
Если пользователь выбирает Гугл аутентификацию - запускаем GAPI, который открывает окошко, где пользователь вводит свои Гугл имеил/пароль и который автоматизирует аутентификацию. GAPI весь этот процесс обрабатывает и возвращает данные, которые вы запросили (Имя пользователя, имеил и так далее) + токен. Мы из GAPI извлекаем этот токен и отправляем его в бекенд.
Со стороны бекенда я использую Питон (Джанго), совместно с библиотекой python social auth (с расширением для Джанго), который принимает от фронтенда Гугловский токен и дальше сам уже регистрирует/авторизирует пользователя.