1. Сначала необходимо создать сериализаторы для моделей User и UserProfile. Пример сериализатора для модели User:
```python
from django.contrib.auth.models import User
from rest_framework import serializers
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ['id', 'username', 'email', 'password']
```
Пример сериализатора для модели UserProfile:
```python
from .models import UserProfile
from rest_framework import serializers
class UserProfileSerializer(serializers.ModelSerializer):
class Meta:
model = UserProfile
fields = ['user', 'bio', 'avatar']
```
2. Создайте представление (view) для редактирования профиля пользователя. Пример представления:
```python
from django.contrib.auth.models import User
from rest_framework import generics
from .models import UserProfile
from .serializers import UserProfileSerializer
class UserProfileUpdateView(generics.UpdateAPIView):
serializer_class = UserProfileSerializer
def get_queryset(self):
return UserProfile.objects.filter(user=self.request.user)
def perform_update(self, serializer):
serializer.save(user=self.request.user)
```
3. Создайте URL-маршрут для представления редактирования профиля пользователя. Пример URL-маршрута:
```python
from django.urls import path
from .views import UserProfileUpdateView
urlpatterns = [
path('profile/', UserProfileUpdateView.as_view(), name='profile_update'),
]
```
4. Теперь вы можете использовать этот URL для редактирования профиля пользователя с помощью запросов HTTP (например, через POST запрос с новыми данными).
Это базовый пример реализации функционала редактирования профиля пользователя с использованием Django DRF. В зависимости от вашего конкретного случая, возможно потребуется дополнительная настройка и обработка запросов.