게시판으로 타고 가는 부분을 찾는다. 이 부분은 사용자가 어디에서 게시판으로 사용자들을 보내냐에 따라 다 다르다.
이 부분에서 href를 통해 url을 지정해준다. 이 url로 가게끔 만든다.
urls.py 부분에서 해당 url을 받는 부분을 구현하고 view 부분으로 넘어가서 로직을 구현한다.
views에 urls에서 보내기로 했던 list부분을 구현한다. 일단 처음에는 우리가 만든 list.html 에서 보내는 작업까지를 구현한다. return으로 request와 해당 페이지의 템플릿 이름을 넣는다.
list.html 에 header와 footer 부분도 넣어준다.(이해가 안 되는 부분은 전 글을 참조하세요)
밑에 header 와 footer를 넣고 페이지를 확인하면
위와 같이 페이지가 나오는 걸 볼 수 있다. 이렇게 페이지끼리 잇는 작업을 하였다. 이제 본격적으로 게시판을 만들어보자
이제 게시판에 사용되는 테이블을 만들기 위해 model로 이동한다.
models.py 에서 class 구현을 통해 하나의 테이블을 만든다. 아래에 들어가는 속성은 하나의 열 / 칼럼이라고 생각하면 된다.
게시판에 title / writer / content / regdate / viewcnt 이렇게 5가지 값을 넣는다. 들어가는 데이터의 속성에 따라 CharFiled와 TextField / DateTimeField(날짜) / IntegerField 이렇게 나눠졌다. 이것을 이용해서 우리가 원하는 형태의 클래스(테이블)를 만든다.
이렇게 모델을 다시 만들고 migration 을 해야 한다.
모델 생성 -> migrate -> admin에 추가 -> view에서 받아오기 이 순서라고 생각하면 된다.
python manage.py makemigrations
python manage.py migrate
어드민에서 해당 부분의 테이블을 사용한다고 명시 해준다.
이제 다시 python manage.py runserver를 통해 서버를 재시작한다.
admin으로 이동했을 때 해당 테이블이 생성된 것을 볼 수 있다.
이제 view 부분을 구현한다.
view 부분에서 list 부분을 구현해준다. Bbs라는 models에서 생성한 클래스를 가져와 모든 데이터를 가져온다.
그 명령어는 Bbs.objects.all()이다. 여기서 가져온 값을 boards에 저장하고 이 값을 context에 넣어 list.html의 템플릿과 같이 함께 render 한다.
여기에 값을 가져온 뒤 list.html 에 뿌려주고
list.html은 해당 값을 받아와서 사용한다.
그다음 bbs 테이블에 admin을 통해 데이터를 넣고
이렇게 대시보드로 이동하면 아래와 같이 게시글이 들어간 걸 볼 수 있다.
'Base > Django' 카테고리의 다른 글
[Django] #12 - Django 게시판 만들기(게시판 등록 하기) - 3 (0) | 2020.10.01 |
---|---|
[Django] #11 - Django 게시판 만들기(등록 버튼 구현) - 2 (0) | 2020.10.01 |
[Django] #9 - Django 로그아웃 버튼 구현 (0) | 2020.09.30 |
[Django] #8 - Django 세션으로 데이터 넘기기 / 로그인 구현 / 로그인시 로그인 페이지로 이동 막기 (0) | 2020.09.30 |
[Django] #7 - header / footer 를 통한 templates 구현 (0) | 2020.09.22 |