Django22 [Django] 10. Django REST Framework: JsonResponse / api_view / Serializer / ViewSet /rooms -> JSON -> UI유저가 /rooms 페이지로 이동하면 -> ReactJS가 해당 JSON을 예쁘게 만들어 UI를 만들어준다 유저는 Django 서버에서 실제로 /rooms url로 직접 이동하지 X프론트엔드의 React UI 애플리케이션이 서버에게 데이터를 요청하는 것 GET: 데이터를 가져옴POST: 서버에 데이터를 보냄 주요과정1. decorator로 decorated된 API view 함수: 데이터베이스에 있는 모든 카테고리를 가져와서 serializer에게 전달2. serializers.py에서 무엇을 어떻게 번역할지를 지정 categories > urls.py 파일 만들어서 urlpatterns 리스트 만들기 categories > views.py 파일에서 view 함수.. 2024. 7. 23. [Django] 9_2. URLs and Views: render / Django Templates / DoesNotExist / Django vs. React (flask 기본 지식이 필요하다) 템플릿을 렌더링하는 방법유저에게 HTML을 보여주는 방법 DB의 데이터를 HTML에 넣는 방법 Rendering: 데이터를 사용자가 볼 수 있는 형태로 시각화하는 과정 view 함수가 HTTP요청을 처리-> 데이터베이스에서 필요한 데이터를 가져와 이를 HTML 템플릿에 전달-> 최종 HTML 문서를 생성 1) View 함수 정의 2) template 파일(.html 확장자) 작성rooms > templates 폴더 생성(이름 변경하면 안된다!)rooms > templates > all_rooms.html 파일 생성 🤜 미션: 템플릿에서 각 방을 표시하기 🤛 🤜 미션: 링크 추가하기 🤛 DoesNotExistrooms > urls.p.. 2024. 7. 16. [Django] 9_1. URLs and Views: Views / Include / URL Arguments (Flask 기본지식이 필요하다)Views / Includeview: 유저가 특정 url에 접근했을 때 작동하는 함수 config > urls.py유저가 특정 url로 접근했을 때, django가 해야할 행동을 정의 유저가 'admin/'에 접근하면: admin.site.urls 함수를 실행 방법1) 유저가 접근하는 url마다 실행하는 함수를 만든다(비추) rooms > views.py 에서 행동 함수를 만든다 config > urls.py 의 urlpatterns에 해당 path를 추가한다 rooms에 접근하면: views 파일의 say_hello 함수가 실행된다 방법2) Divide and Conquer(분할정복) : 애플리케이션마다 urls.py 파일을 생성 & config > url.. 2024. 7. 16. [Django] 8_2. Power Admin: Admin Actions / Custom Filters Admin Action동시에 여러 값들을 리셋/수정할때 유용 1) rooms > admin.py 에서 액션 함수(reset_prices) 만들기 - '@admin.action' decorator 사용 + description 추가 - 이때 함수는 3개의 parameter를 갖는다 2) rooms > admin.py 의 RoomAdmin 클래스에서 actions 추가하기 Custom Filter 1) relationship(foreign key)으로도 필터링할 수 있다 reviews에서 필터링을 만들어보자 - reviews > admin.py 의 list_filter에서 "user__is_host" 추가: is_host로 필터링 - reviews > admin.py 의 list_filt.. 2024. 7. 16. [Django] 8_1. Power Admin: Methods / Search Fields Methods개별 room 별로 reviews의 평균 표시하기 1) reviews > models.py 에서 related_name 설정 2) rooms > models.py 에서 rating 메서드 만들기Avg를 임포트하여 위와 같이 평균값을 계산하면 더 효율적이다 3) rooms > admin.py 에서 list_display에 추가(속성, 메서드 다 추가 가능) Search Fields 🤜 미션: owner의 username으로 room 검색하기 🤛 rooms > admin.py 에서 search_fields 만들기: 검색창 생성 디폴트로 'contains' 조건으로 검색 2024. 7. 15. [Django] 7_2. ORM: Admin Methods / ForeignKey Filter Admin Methods 1) list_display에 'total_amenities'를 추가 2) rooms > models.py에 없는 내용이므로 에러 발생 3) rooms > admin.py에서 메서드로 추가 가능 4) rooms > models.py에서도 추가 가능 ForeignKey Filter Reverse Accessor(역방향 접근자)oreignKey, OneToOneField, ManyToManyField 등을 사용할 때 자동으로 생성되는 속성모델 간의 관계를 정의할 때 두 모델 사이의 역방향 관계에 접근할 수 있게 해주는 개념외래 키나 다대다 관계를 통해 연결된 관련 객체들을 쉽게 조회할 수 있음(해당 모델의 인스턴스에서 관련된 다른 모델의 인스턴스에 접근할 수 있다) ex.. 2024. 7. 14. 이전 1 2 3 4 다음 반응형