웹사이트의 기본인 게시판기능을 Django를 활용하여 만들어보겠습니다.
게시판에는 게시판 글 읽기,수정,삭제,추가 기능이 있으며,
댓글을 달수 있고 댓글 추가, 댓글 삭제, 수정 기능을 포함하였습니다.
모델의 경우, 데이터베이스를 만든후
class BoardTab(models.Model):
name = models.CharField(max_length = 20)
passwd = models.CharField(max_length = 20)
mail = models.CharField(max_length = 30)
title = models.CharField(max_length = 100)
cont = models.TextField()
bip = models.GenericIPAddressField()
bdate = models.DateTimeField()
readcnt = models.IntegerField()
gnum = models.IntegerField()
onum = models.IntegerField()
nested = models.IntegerField()
BoardTab을 사용하여 migration과 migrate를 통해 원격으로 데이터베이스 내에 테이블을 생성하였습니다.
또한, Django 프로젝트를 구성할 때 여러 모듈을 생성하고 관련된 기능을 그룹화하기 위해,
프로젝트를 생성시, view.py는 처음생성되는 파일을 지우고, 프로젝트 만들면서 생성한 Application에서 view pydev패키지를 생성하여 view1.py, view2.py로 구성하였습니다.
처음의 urls.py의 경우,
urlpatterns = [
path("admin/", admin.site.urls),
path("",view1.mainFunc),
path("board/", include('myboard.urls')), #application의 urls에 위임해주기
]
만들어주었고, 생성한 app의 urls로 경로들을 위임해주었기에,
app에 urls.py파일을 만들어서
from django.urls import path
from views import view1, view2
urlpatterns = [
path("list",view1.listFunc),
path("insert",view1.insertFunc),
path("search",view1.searchFunc),
path("content",view1.contentFunc),
path("update",view1.updateFunc),
path("delete",view1.deleteFunc),
#댓글은 view2에서
path("reply",view2.replyFunc),
path("replyok",view2.replyokFunc),
로 게시판 내의 읽기, 수정,삭제,추가 기능과 댓글 기능들을 구성하였습니다.