При нажатии кнопки данные не передаются в Django rest api

У меня есть форма с текстовыми полями ввода, и я создал кнопку, которая при нажатии должна отправлять данные поля ввода в Django Api. Но когда я нажимаю на кнопку, ничего не происходит, и, похоже, ошибки тоже нет.

Вот пример из моего кода:

class MyForm extends StatefulWidget {
  @override
  _MyFormState createState() => _MyFormState();
}

class _MyFormState extends State<MyForm> {
  final String url = 'http://127.0.0.1:8000/api/?format=json';
  final TextEditingController nameController = TextEditingController();
  final TextEditingController phoneController = TextEditingController();
  final TextEditingController purposeController = TextEditingController();
  final TextEditingController addressController = TextEditingController();
  final TextEditingController visiteeController = TextEditingController();
  final TextEditingController dateController = TextEditingController();
  String result = '';


  Future<void> _postDataToDjango() async {
    try {
      final response = await http.post(Uri.parse(url),
      headers: <String, String>{
        'Content-Type': 'application/json; charset=UTF-8',
      },
      body: jsonEncode(<String, dynamic> {
        'visitor_name': nameController.text,
        'visit_date': dateController.text,
        'Time_in': (TimeInputField()._selectedTime).toString(),
        'Time_out': Null,
        'Department': (DropdownMenuExample().dropdownValue).toString(),
        'Visitee_name': visiteeController.text,
        'Address': addressController.text,
        'Phone': phoneController.text,
        'Purpose_of_visit': purposeController.text
      }),
      );

      if (response.statusCode == 201) {
        final responseData = jsonDecode(response.body);
        print('Post successful');
        setState(() {
          result = 'id: ${responseData['id']}\nvisitor_name: ${responseData['visitor_name']}\nvisit_date: ${responseData['visit_date']}\nTime_in: ${responseData['Time_in']}\nTime_out: ${responseData['Time_out']}\nDepartment: ${responseData['Department']}\Visitee_name: ${responseData['Visitee_name']}\nAddress: ${responseData['Address']}\nPhone: ${responseData['Phone']}\nPurpose_of_visit: ${responseData['Purpose_of_visit']}';

        });
      } else {
        throw Exception('Failed to submit');
      }
      
    }
    catch (e) {
      setState(() {
        result = 'Error: $e';
      });
    }
  }

А ниже показана кнопка, созданная с помощью действия onPressed:

child: ElevatedButton(
                  style: ElevatedButton.styleFrom(
                    backgroundColor: Colors.blue,
                    shape: RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(4)),
                  ),
                  onPressed: _postDataToDjango,
                  child: const Padding(
                    padding: EdgeInsets.all(10.0),
                    child: Text(
                      'Submit',
                      style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold, color: Colors.black),
                    ),
                  ),
                                ),

Я пытался проверить, нет ли чего-то неправильного в url, и добавил заголовок к телу, но ничего не происходит.

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