Uygulamamda (hibrit) çalışıyorum ve kayıt sayfasında Django Rest Framework ile yapılmış bir API'ye tüm verileri göndermem gerekiyor.Resmi base64 django dayanak çerçevesi içinde kaydet
Sorun şu ki, profil resmini gönderebilmemin tek yolu base64 kodlanmış dizgede. Ama sunucuma jpg olarak görüntüye ihtiyacım var. Bunu herkes bilir mi?
Bu benim API Görünüm geçerli:
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)
Ve bu benim serileştiricisi geçerli:
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
fields = ('url', 'username', 'first_name', 'last_name', 'email', 'groups')
base64 alıp bir jpg oluşturmak için herhangi bir yolu var mı?
Ben yığın sonraki kod ile kendim için çözüm buldu - [http://stackoverflow.com/](http://stackoverflow.com/a/6781529/795622) – mexekanez
KeyError hariç 'try' /' işlevi: '' s biraz overkill vardır. 'Get()' yöntemini kullanabilir ve boş dizgiyi varsayılan değer olarak sağlayabilirsiniz: 'name = data.get ('name', '')'. – BlackJack
Teşekkür etmedim =) –