Есть функция (не джанговская ) которая передает html файл на редактирование в google doc. Одним из параметров там идет email, которыый сейчас у меня захардкожен. На всякий приведу тело функции , хотя вопрос не в ней
def file_to_drive(import_file=None):
credentials = service_account.Credentials.from_service_account_file(ACCOUNT_FILE, scopes=SCOPES)
service = build('drive', 'v3', credentials=credentials)
file_metadata = {
'name': 'CV:' + uuid.uuid4().hex,
'mimeType': 'application/vnd.google-apps.document'
}
media = MediaFileUpload(import_file,
mimetype='text/html',
resumable=True)
file = service.files().create(body=file_metadata,
media_body=media,
fields='id').execute()
fileId = file.get('id')
current_user()
permission1 = {
'type': 'user',
'role': 'writer',
'emailAddress': 'MY@EMAIL.com',
}
service.permissions().create(fileId=fileId, body=permission1).execute()
permission2 = {
'type': 'anyone',
'role': 'writer',
}
service.permissions().create(fileId=fileId, body=permission2).execute()
return (f"https://docs.google.com/document/d/{file.get('id')}/edit")
Я хочу получить адрес текущего юзера, для подмены им моего хардкода. Пробую стандартный подход
def current_user(request):
CU = request.user
print(CU.email)
И получаю
TypeError: current_user() missing 1 required positional argument: 'request'
И действительно откуда берется в джанговских вьюхах request и почему в моем случае его не хватает?
Я попробовал связать вьюху с url
path('current_user/', current_user, name='current_user'),
Но результат тотже