- 틀린이유 : 솔직히 나도 모른다. PostgreSQL을 사용한적이 없는데 A를 체크한 것을 보면 아마 다른 문제와 착각했을 것 같다.
정답 : C
A) PostgreSQL
B) MySQL
C) SQLite
D) MongoDB
7. 다음 중 Django의 ModelForm을 사용하는 이유로 가장 적절한 것은 무엇인가요?
- 내가 선택한 답 : B
- 틀린이유 : Model Form 에 대해 개념을 제대로 이해 못한것 같다. 내가 선택한 B는 찾아보니 유효성 검사? 이런 분야 였다.
정답 : A
A) 폼을 통해 입력된 데이터를 데이터베이스에 자동으로 저장하기 위해
B) 유저로부터 입력된 데이터를 검증하지 않고 직접 처리하기 위해
C) Django의 인증시스템을 우회하기 위해
D) HTML 템플릿에서 직접 쿼리셋을 사용하기 위해
주관식
주관식은 다 적기로 했다. 그 이유는 복습도 해야하고 문제가 원하는 답이 내가 제출한 답에 비해 조금 많이 부족하다고 느끼기 때문이다.
8. Django의 MTV 패턴에서 각 요소(Model, Template, View)의 역할을 간단히 설명하세요.
- 정답
Model : 데이터베이스의 구조를 정의하고, 데이터를 관리하는 역할. 데이터베이스 테이블과 매핑이 되고, 데이터 저장,조회, 수정, 삭제 기능 제공
Template: 사용자에게 보여지는 화면을 담당. HTML 파일과 같은 템플릿을 통해 데이터를 시각적으로 표현하며, 동적인 웹 페이지를 생성하는 데 사용
View: 사용자의 요청을 처리하고, 적절한 데이터를 가져와서 템플릿과 결합하여 응답을 생성하는 역할. View는 Model과 Template 사이에서 중개자 역할
9. Django에서 settings.py 파일의 주요 역할을 구체적인 예시를 들어 설명하세요.
- 정답 : Django 프로젝트의 설정을 관리하는 파일. 데이터베이스 설정, 설치된 앱, 미들웨어, 정적 파일 경로, 템플릿 설정, 국제화 설정, 보안 키 등의 다양한 프로젝트 설정이 이 파일에 포함됩니다. 프로젝트 전반의 동작을 조정하고, 필요한 외부 리소스나 라이브러리를 연결하는 역할을 합니다.
10. Django ORM이란 무엇이며, 왜 사용하는지 설명하세요.
- 정답 : Python 객체를 데이터베이스의 테이블과 매핑하여 데이터베이스 조작을 간단하고 직관적으로 수행할 수 있게 해주는 도구입니다. SQL 쿼리를 작성하지 않고도 Python 코드만으로 데이터베이스와 상호 작용할 수 있게 해줍니다. 이를 통해 데이터베이스 독립성을 유지할 수 있으며, 데이터베이스 작업을 더 안전하고 효율적으로 수행할 수 있습니다.
11. Django의 Custom UserModel을 사용하는 이유와 장점을 설명하세요.
- 정답 : Django의 기본 User 모델을 사용하는 대신 Custom UserModel을 사용하면, 사용자 모델을 확장하거나 수정할 수 있어 프로젝트의 요구사항에 맞게 사용자 정보를 관리할 수 있습니다. 예를 들어, 추가적인 사용자 필드가 필요하거나 로그인 방식(예: 이메일로 로그인)을 변경하고 싶을 때 유용합니다. Custom UserModel을 사용하면 향후 확장성도 더 좋아지고, 프로젝트 시작 시 이러한 커스터마이징을 도입하면 나중에 구조 변경이 필요할 때 발생할 수 있는 문제를 예방할 수 있습니다.
12. Django에서 Model 클래스는 데이터베이스 테이블과 매핑됩니다. Django ORM에서 모델을 정의할 때 필드를 정의할 수 있는 다양한 옵션 중 ManyToManyField에 대해 구체적인 사용 사례를 들어 설명하세요.
- 정답 : Django의 ManyToMany는 두 모델간의 다대다 관계를 정의할 때 사용됩니다. 다대다 관계란 한 모델의 여러 인스턴스가 다른 모델의 여러 인스턴스와 연결될 수 있는 경우를 말합니다. 예를 들어, 하나의 학생이 여러 과목을 수강할 수 있고, 동시에 하나의 과목을 여러 학생이 수강할 수 있는 상황이 있을 수 있습니다.
Django는 이러한 관계를 처리하기 위해 자동으로 중간 테이블을 생성하며 이 테이블에는 두 모델의 외래 키가 저장되어 있습니다.