에이블 스쿨 16주차(11. 20 ~ 11.24) - 4기 AI트랙

Django활용 Web App 개발
Django
: 백엔드를 담당하는 파이썬 풀스택 웹프레임워크
- MVT 디자인 패턴 (Model, View, Template)
Django Project
: Django에서의 웹 사이트, 웹 애플리케이션
** Path 변수 선언
: URL 문자열 일부를 뷰 함수의 인자로 전달하기 위해 선언
Django Model
⇢ ORM을 이용하여 DB처리 ⇢ SQL 필요 없다
앱 생성하기
> python manage.py startapp app_name
프로젝트 생성하기
> python manage.py inspectdb > app_name/models.py
모델 관계 설정
1) 1 : 1 (일대일) 관계
class OneToOneField(해당하는 모델, on_delete, **options)
# 사용예시
models.OneToOneField(User, on_delete=models.CASCADE)
2) 1 : M (일대다) 관계
class ForeignKey(1측에 해당하는 모델, on_delete, **options)
# 사용예시
models.ForeignKey(Post, on_delete=models.CASCADE, related_name='comments')
3) N : M (다대다) 관계
class ManyToField(해당하는 모델, **options)
# 사용예시
models.ManyToManyField('Tag', null=True, blank=True)
모델을 DB에 연결하기(Migration)
1) migration 파일 생성
> python manage.py makemigrations (app_name)
* app_name 생략시 전체
2) migrate 작업
> python manage.py migrate (app_name)
* app_name 생략시 전체
Django Template
1) 템플릿 태그 - for
{% for 변수 in iterator 객체 %}
반복 실행문
{% endfor %}
# 사용예시
{% for comment in comment_all %}
<p>{{comment.message}} / {{comment.author}} / {{comment.updated}}</p>
{% empty %}
2) 템플릿 태그 - if
{% if 조건문 %}
실행문
{% elif 조건문2 %}
실행문2
{% else %}
실행문3
{% endif %}
Django View
** Generic View
: Django에서 범용적으로 사용되는 기능을 구현해 놓은 뷰 클래스
1) as_view() 메서드로 사용하기
from django.views.generic import ListView
urlpatterns = [
path('list/', ListView.as_view(model=Book))
]
2) generic view를 상속받은 클래스 지정하기
from django.views.generic import ListView
class MyView(ListView):
model = Book
------------------------------------------
from .views import MyView
urlpatterns = [
path('list/', MyView.as_view())
]
Django의 admin 앱과 auth 앱 등 다양한 실습을 진행하였는데
복습을 열심히 해보는 시간을 가져야 겠다 ^!^
'교육 > KT 에이블스쿨' 카테고리의 다른 글
[KT AIVLE School(에이블스쿨)] - 17주차 후기(Django활용 Web App 개발, 미니프로젝트 7차) (36) | 2023.12.03 |
---|---|
[KT AIVLE School(에이블스쿨)] - 5기 모집 설명회 안내 (3) | 2023.12.01 |
[KT AIVLE School(에이블스쿨)] 이벤트(커피 트럭, 친구 추천) 안내 (41) | 2023.11.25 |
[KT AIVLE School(에이블스쿨)] - AICE Associate 시험 합격 후기 (21) | 2023.11.20 |
[KT AIVLE School(에이블스쿨)] - 5기 모집 ! (17) | 2023.11.19 |