Kullanıcının profillerini güncelleyebileceği bir API oluşturmak istiyorum. Benim durumumda, bir kullanıcı kullanıcı adını ve şifresini güncelleyebilir. Onun profilini değiştirmek için bir API bağlantısı /api/change/usernameOfThatUser
olmalıdır. Bağlantıda mevcut olmayan bir kullanıcı adı kullandığımda, hala userProfileChange API sayfasını alıyorum ve giriş kutuları önceki verilerle doldurulmuyor. Bunu Nasıl Çözebilirim?django rest framework api kullanarak kullanıcı profilini güncelleme
serializers.py
User = get_user_model()
class UserProfileChangeSerializer(ModelSerializer):
username = CharField(required=False, allow_blank=True, initial="current username")
class Meta:
model = User
fields = [
'username',
'password',
]
def update(self, instance, validated_data):
instance.username = validated_data.get('username',instance.username)
print('instance of username',instance.username)
return instance
views.py
class UserProfileChangeAPIView(UpdateAPIView):
serializer_class = UserProfileChangeSerializer
lookup_field = 'username'
urls.py
url(r'^change/(?P<username>[\w-]+)$', UserProfileChangeAPIView.as_view(), name='changeProfile'),
Bağlantıda mevcut olmayan kullanıcı adı kullandığınızda ne yapmak istersiniz? –
Sorunuz mantıklı değil. "Bunu Nasıl Çözebilirim?" << Beklediğiniz olanın olması nedeniyle burada hangi davranışın beklendiğini bize söylemelisiniz. – Linovia
Kullanıcı adımın michael olduğunu varsayalım, sonra istediğim kullanıcı adımı değiştirmek istersem o zaman/api/users/michael yapardım ve sayfa kullanıcı adı ve şifre alanı ile gösterilir. Kullanıcı adı alanında, adım zaten doldurulmuş olacak, daha sonra düzenleyip kaydedeceğim. – pri