[작정하고 Django] Django와 Flutter의 연동(12강)
장고에서 Rest Api 방식으로, 데이터 파일은 json 형태로 변환하여 전송
플러터 프로젝트 실행
request를 보내는 함수인 _sendRequest() 함수
- http 방식 사용
Django와 Flutter의 데이터 교환 방식
- request를 보내는 곳은 에물레이터임. 즉 10.0.2.2:8000로 설정해 주어야 함(-> 확실 x)
- 장고서버에 요청을 함
- 장고에서 Response를 보냄. 이떄 response되는 데이터는 json 형식임(딕셔너리 형태)
- 만약 정상적으로 수신이 되었다면(200),
- 이를 플러터에서 받아서 json형태의 데이터를 디코딩 함(jsonDecode 함수 사용)
- 이후는 플러터 알아서 처리
[flutter의 main.dart 파일]
void _sendRequest() async {
var url =
Uri.http('10.0.2.2:8000', '/accounts/hello_world_drf');
var response = await http.get(url);
if (response.statusCode == 200) {
var jsonResponse = convert.jsonDecode(response.body) as Map<String, dynamic>;
_message = jsonResponse['message'];
} else {
print('Request failed with status: ${response.statusCode}.');
}
setState(() {
});
}
[django의 view 파일]
@api_view()
def hello_world_drf(request):
return Response({'message': 'Hello DRF'})
- json 형태로 데이터 전송