Coding/Practice
Airbnb clone - Chatting
Django 웹 소켓을 활용한 채팅 기능을 구현해보았다. Front-End - > React Back-End - > Django 이전에 공부할때 했던 프로젝트인 에어비앤비 클론 코딩했었던 코드에다가 덧붙였으며, 구현한 기능은 1:1 채팅방을 접속시 웹 소켓에 연결하여 real-time 으로 서로의 채팅이 확인 가능하도록 함. 내가 친 채팅은 우측, 상대방이 친 채팅은 좌측에 정렬 되도록 함. 유저의 채팅 로그, 채팅방이 남아잇어 이후에도 채팅을 이어서 칠 수 있도록 구현 채팅 로그는 우선 각 채팅방 당 100개 제한, 채팅방 마지막 사용일자 기준 3개월만 유지 채팅방에는 유저의 아바타, 닉네임, 채팅, 채팅시간을 받아옴 채팅방 리스트는 초기에 GET 으로 받아와서, 어떤 유저와의 채팅기록이 있는지 확인 ..
Airbnb Clone Experience Model (4) All codes
experience urls.py from django.urls import path from .views import ( PerkDetail, Perks, Experiences, ExperienceDetail, ExperiencePerk, ExperienceBooking, ExperienceBookingAll, ExperienceBookingDetail, ) urlpatterns = [ path("", Experiences.as_view()), path("/perks", ExperiencePerk.as_view()), path("", ExperienceDetail.as_view()), path("/bookings/all", ExperienceBookingAll.as_view()), path("/book..
Airbnb Clone Experience Model (3) serializer
1. GET POST /experiences class ExperienceSerializer(ModelSerializer): category = CategoryNameSerializer(read_only=True) class Meta: model = Experience fields = ( "name", "start", "end", "country", "category", ) 2. [ ] GET PUT DELETE /experiences/1 class ExperienceDetailSerializer(ModelSerializer): host = TinyUserSerializer(read_only=True) category = CategorySerializer(read_only=True) perks_count..
Airbnb Clone Experience Model (2) view
고려사항 및 serializer 선언 1. [ ] GET POST /experiences class Experiences(APIView): def get(self, request): all_experience = Experience.objects.all() serializer = ExperienceSerializer(all_experience, many=True) return Response(serializer.data) def post(self, request): serializer = ExperienceSerializer(data=request.data) if serializer.is_valid(): with transaction.atomic(): category_pk = request.data.ge..
Airbnb Clone Experience Model (1) API
https://github.com/izunaaaaa/nomad_airbnb GitHub - izunaaaaa/nomad_airbnb Contribute to izunaaaaa/nomad_airbnb development by creating an account on GitHub. github.com Experience Model 구성 country = charfield city = charfield name = charfield host = foreignKey ( user model ) price = Integer field address = charfield start = time field end = time field description = Textfield perks = ManyToMany Fi..
Fast ApI 간단 실습
파이썬 웹 프레임워크에는 여러가지가 있지만, 그 중 유명한 것으로 꼽으면 세가지가 있다. Django , FLASK, FastApI Django는 정말 다양한 기능, 보안, 빠르고 간편한 기능과 큰 생태계를 가지고 있지만, 너무 방대한 기능을 제공하는 탓에 크기가 조금 무겁다. 개발된 코드의 줄 수가 flask 의 10배라고 한다. 그에 비해 Flask 는 간단하고 필요한 기능들만 제공하는 프레임워크이다. 그로 인해 Django 보다 조금 더 자유로운 코딩이 가능하다. FastApi는 이후에 나온, 프레임워크이다. FastApi라는 말 답게 속도가 Go 언어와 비슷하다고 하며, 장고보다는 당연히 훨씬 빠르다고 한다. Django를 베이스로 공부를 하던 중, Flask와 FastApi는 어떤식으로 API를..