Я работаю над своим приложением (гибридом), а на странице регистрации я должен отправить все данные в API, созданный с помощью Django Rest Framework.Сохранить изображение в base64 django rest framework
Проблема в том, что единственный способ отправить изображение профиля - base64 закодированная строка. Но мне нужен образ в jpg на моем сервере. Кто-нибудь знает, как я могу это сделать?
Это мой апи Вид:
class CreateUserView(generics.CreateAPIView):
serializer_class = UserSerializer
permission_classes = [AllowAny]
queryset = User.objects.all().order_by('-date_joined')
def post(self, request, *args, **kwargs):
error = 0
data = request.data
try:
name = data['name']
except KeyError:
name = ""
try:
last_name = data['last_name']
except KeyError:
last_name = ""
# IMAGE IN BASE64
try:
profile_picture = data['profile_picture']
except KeyError:
profile_picture = ""
try:
username = data['username']
except KeyError:
username = ""
try:
created_user = User.objects.create(
first_name = nombre,
last_name = last_name,
username = username
)
# created_user.set_password(password)
created_user.save()
token = Token.objects.create(user=created_user)
except IntegrityError:
error = 1
return Response(error)
И это мой Serializer:
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'first_name', 'last_name', 'email', 'groups')
Есть ли способ, чтобы взять base64 и создать JPG?
Я нашел решение для себя со следующим кодом на стеке - [http://stackoverflow.com/](http://stackoverflow.com/a/6781529/795622) – mexekanez
'try' /' except KeyError: 's немного переборщит. Вы можете просто использовать метод 'get()' и указать пустую строку как значение по умолчанию: 'name = data.get ('name', '')'. – BlackJack
Спасибо, я не знал =) –