본문 바로가기

Python/Django

[파이썬] Django로 게시판 만들기(1)

웹사이트의 기본인 게시판기능을 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),

로 게시판 내의 읽기, 수정,삭제,추가 기능과 댓글 기능들을 구성하였습니다.