Как отправить данные пользователя и изображение его профиля с помощью POST запроса из axios api в Django Rest Framework?

User Data
let final_data = {
                'personal_data': {
                    'first_name': data.first_name,
                    'password': data.password,
                    'phone': data.phone,
                    'username': data.username,
                    'email': data.email,
                    'image': data.profile[0]
                },
                'address_data': {
                    "address_1": data.address_1,
                    "address_2": data.address_2,
                    "city": data.city,
                    "pin_code": data.pin_code,
                    "state": data.state,
                    "country": data.country
                }
           }

Выше приведены данные формы, которые я передал. Я также пытался передать эти данные с помощью json.stringify, но это не работает

AXIOS POST Request
import API from "../Axios/AxiosService"
const registerUser = (data) => API.post(`registration/`, data)
export default { registerUser }

HEADERS
if (config.url = 'registration/') {
        requestOptions['headers'] = {'Content-Type': 'multipart/form-data;boundary=----WebKitFormBoundaryyrV7KO0BoCBuDbTL', 'Accept' : 'application/json'}
    } else {
        requestOptions['headers'] = {'Content-Type': 'application/json'}
    }
    if (localStorage.getItem("access_token")) {
        requestOptions['headers'] = {"Authorization": "Token " + localStorage.getItem("access_token")}
    }

Вышеприведенный код является AXIOS POST запросом и также переданными заголовками. Используя Application/Json я получаю все данные кроме изображения и из данных я также пытался передать data.profile вместо data.profile[0], но это не сработало.

Ошибка Django Rest Framework

**В методе POST в Django Rest Framework я использовал перечисленные ниже способы получения, но во всех методах я не получил никаких данных **

  1. request.POST
  2. request.data
  3. request.Files

Вы должны передать кверисет в UserRegistrationView, например;

class UserRegistrationView(generics.CreateAPIView):
    queryset = User.objects.all()
    serialier_class = UserSerializer

В React несмотря на передачу Content-type="multipart/form-data" в POST запрос, он не передает объект изображения в бэкенд.

Поэтому мы должны преобразовать все данные в formdata и затем передать в POST запрос.

Вот как я решил свою ошибку.

Посмотрите пример

Вернуться на верх