django로 채팅 프로그램을 만드는 중입니다! 질문있습니다!


웹에서 채팅프로그램을 만드는데 CHATTING ROOM 페이지로 이동해서 채팅을 진행하는 것이 아니라 facebook에서 채팅하는 것처럼 현재 보고있는 페이지에서 버튼 하나만 누르면 채팅창이 뜨면서 채팅을 할 수 있도록 구현하고 싶습니다.

이미지

이미 채팅 페이지는 따로 만들어놨는데 페이스북 처럼 채팅을 하려면 어떻게 만들어야 할까요? 참고할 만한 문서나 웹페이지가 있으면 알려주시면 좋겠습니다!

감사합니다.

  • 2016년 05월 15일에 작성됨

조회수 508


2 답변


질문이 채팅창을 버튼을 누르면 열리게 하는 것을 구현하는 것이 아니라 채팅 구현이 궁금하신 거라고 생각이 됩니다.

채팅창 열리고 닫히고는 자바스크립트로 구현하시면 됩니다.

웹에서 채팅의 구현은 socket.io 또는 firebase 등으로 구현하실 수 있습니다.

socket.io를 사용하실 경우 node.js 서버를 구동시켜야 합니다. 또한 메세지를 저장하거나 회원정보를 저장하는 database 도 추가로 필요하겠죠.

firebase 를 사용하시면 서버나 DB등을 따로 구축할 필요없이 쉽게 채팅을 구현하실 수 있습니다. 다만 브라우저가 IE 10이상 지원되는 것으로 알고 있습니다. (socket.io는 IE 8이상, 그 이하도 지원되는 것으로 알고 있는데 테스트 해보지는 않았습니다.) 다만, firebase 는 유료 입니다. 물론 어느정도 제한이 있는 범위의 무료 서비스도 지원하고 있기 때문에 테스트 하거나 간단한 서비스를 올려볼 수 있습니다.

  • 2016년 05월 15일에 작성됨

  • 채팅은 이미 django로 구현해 놓았습니다. 궁금한건 현재 보고있는 페이지에서 어떻게 채팅창을 열었다 닫았다 하는것인지가 궁금합니다.    hsyoon702   2016.5.15 16:04     
  • 채팅 창 여닫는 것은 해당 채팅창 페이지를 숨겨놓았다가(css display : none 등으로) 자바스크립트나 제이쿼리 등으로 버튼에 이벤트를 추가하여 다시 보여지도록 하면 됩니다. 가령 제이쿼리 show / hide 로 말이죠.    Manki Kim   2016.5.15 16:08     

말씀하신 부분을 완전히 구현하시려면 Django에서 다루는것이 아니라 프론트앤드쪽의 문제가 됩니다.

Javascript / jQuery 등과 더불어 프론트앤드 프레임워크인 AngulaJs, Backbone.js, Ember.js 같은 것을 학습하시는것이 좋을것 같습니다.

백엔드 부분은 윗분 말씀대로 node.js(socket.io), firebase 등을 이용해도 되지만 Django 만으로도 구현이 가능합니다.

  • 2016년 07월 31일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close