Django добавляет ведущую косую черту при сохранении пути
Я создаю маршрут для сохранения некоторых фотографий, и пока что они сохраняются на рабочем столе. Это можно легко изменить в моем .env
файле:
MEDIA_URL=C://Users/User/Desktop/
Django сохраняет файл корректно, и его можно увидеть в его местоположении, как и ожидалось. Однако в базе данных файл сохраняется с лишним ведущим слэшем
/C:/Users/User/Desktop/photo.png
Я знаю, что это довольно глупый вопрос, так как этот слеш может быть удален в приложении, путем ручного редактирования перед сохранением и т.д. Но я хотел бы знать, есть ли встроенное решение в Django для этого
Мои settings.py
переменные следующие:
MEDIA_URL = os.environ.get('MEDIA_URL')
MEDIA_ROOT = os.environ.get('MEDIA_URL')
Если вам нужна моя точка зрения, то вот она:
@api_view(['PATCH'])
def updatePhoto(request):
user= request.user
if 'photo' not in request.FILES:
return Response({'message': 'Error', 'error': 'No photo uploaded'}, status=400)
try:
photo = request.FILES['photo']
fs = FileSystemStorage()
filename = fs.save(name=photo .name, content=photo )
uploaded_file_url = fs.url(filename)
user.foto_url = uploaded_file_url
user.save()
return Response({'message': 'Updated'}, status=200)
except Exception as e:
return Response({'message': 'Error', 'error': str(e)}, status=500)