일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Dependency
- html
- Spring
- table tag
- table cell size
- Dependency Injection
- Django column 값 가져오기
- DI
- html cell
- Django 특정 값 가져오기
- html cell size
- Django
- Today
- Total
emluy 개발 일기
Django 웹 8 - Model object 2개 1:N 연결 본문
** MTV 패턴 생성 순서
: models.py에 class 정의 -> views.py에서 models.py 정의한 것 바탕으로 data 가져오는 함수 작성 -> templates 에서 보여주기
** MTV 패턴 작동 순서
: models.py class로 object 만들기 -> urls.py 에서 views,py의 함수 호출 -> views.py에서 함수 실행 -> templates에서 보여줌
한 html에서 다른 html 호출시
models.py class로 object 만들기 -> templates에서 a태그로 url 호출-> urls.py 에서 views,py의 함수 호출
-> views.py에서 함수 실행
<사람마다 쓴 글 따로따로 볼 수 있는 홈페이지 만들기>
전체적인 흐름
보라색 : 만드는 순서
파란색 : pk 흐름
0. 앱 폴더 만들기 (personpost)
: settings.py 해주기, templates 폴더 생성
1. 사람 정보 보여주는 people.html 생성
-> urls.py 에 기본 설정 해 줌
-> views.py에 people함수 생성 (기본 틀)
2. 사람 정보 담을 model 생성
: models.py에 다음과 같이 class People 생성
-> $ python manage.py makemigrations
-> $ python manage.py migrate
personpost/models.py
3. views.py에 people object 가져오는 함수 정의
personpost/views.py
3-2. admin에 계정 생성
: python manage.py createsuperuser
3-3. admin 페이지 들어가서 people에 데이터 입력하기
4. people.html에 3번의 함수 people를 통해 전달받은 people_list 이용하여 각 사람의 data 보이기
personpost/people.html
=> 가져온 people 객체의 name 눌렀을 때 그 사람이 쓴 post 볼 수 있도록 a 태그로 그 사람의 pk를 post.html 에 넘겨줌
5. 넘겨 받은 pk를 url에서 보여지게 함
personproject/urls.py
=================================================================================================
이제 post
6. 각 사람이 쓴 글 보여주는 post.html 생성
7. post 정보 담을 Class 생성
personproject/models.py
8. 6번 Post class로 만든 객체 활용할 post함수 만듬
personproject/views.py
=> 여기서 의문 : 어떻게 People.objects.get(pk=post_pk) 하면 이름이 받아와지는 걸까?
9. post.html 에 쓴 글 보여주는 코드 작성
personproject/post.html
======================================================================================================
완성된 화면
people.html
post.html
'웹 개발 > Django' 카테고리의 다른 글
Django 웹 기본 setting - bootstrap 연결하기 (0) | 2020.05.04 |
---|---|
Django 웹 9 - 100글자만 보여주고 링크로 다 보여주기, app 2개 만들고 url 연결하기 (수정중) (0) | 2020.05.02 |
Django 웹 7 - 제한 글자 수 만큼 보여주기, 링크 클릭시 객체마다 url 다르게 해서 보여주기 (0) | 2020.04.21 |
Django 웹 6 - (blog) DB에 저장된 것 html로 가져오기 (0) | 2020.04.14 |
Django 웹 5 - (blog) admin 페이지 계정 만들기, blog 만들기 (0) | 2020.04.14 |