📌 urls.py 추가
# -*- coding: utf-8 -*-
"""
Created on Fri Dec 23 11:08:02 2022
@author: HP
"""
from django.urls import path
from . import views
urlpatterns=[
path("write/", views.write, name="write"),
path("list/",views.list, name="list"),
**path("info/<int:num>/",views.info, name="info")**
]
📌 views.py - board 내용 추가
from django.shortcuts import render
from .models import Board
from django.utils import timezone
from django.http import HttpResponseRedirect
from django.core.paginator import Paginator
# Create your views here.
def write(request) :
if request.method != "POST" :
return render(request,"board/write.html")
else : # POST 방식 요청
try :
filename = request.FILES["file1"].name
handle_upload(request.FILES["file1"])
except :
filename = ""
# num :
b = Board(name = request.POST["name"],\\
pass1 = request.POST["pass"],\\
subject = request.POST["subject"],\\
content = request.POST["content"],\\
regdate = timezone.now(),\\
readcnt = 0, file1 = filename)
b.save()
return HttpResponseRedirect("../list")
def handle_upload(f) :
with open("file/board/" + f.name, "wb") as dest :
for ch in f.chunks() :
dest.write(ch)
def list(request) :
# pageNum 파라미터를 정수형으로 형변환.
# 파라미터가 없으면 1이 기본값.
pageNum = int(request.GET.get("pageNum",3))
# 모든 레코드 조회.
# order_by("-num") : num값의 내림차순 정렬.
all_boards = Board.objects.all().order_by("-num")
# Paginator : all)boards 목록을 10개씩 분리해서 저장.
paginator = Paginator(all_boards,10)
# paginator 객체에서 pageNum번째 게시물 리턴
# board_list : 해당 페이지에 출력할 게시물 목록을 저장
board_list = paginator.get_page(pageNum)
# 등록된 게시물 건수.
listcount = Board.objects.count()
return render(request,"board/list.html",\\
{"board":board_list, "listcount":listcount})
**def info(request,num) :
board = Board.objects.get(num=num)
board.readcnt += 1
board.save()
return render(request,"board/info.html",{"b":board})**
- 결과

'수업(국비지원) > Django' 카테고리의 다른 글
| [Django] 게시물 수정, 삭제 (0) | 2023.04.27 |
|---|---|
| [Django] 2022-12-23 복습 (0) | 2023.04.27 |
| [Django] 게시판 목록 (0) | 2023.04.27 |
| [Django] 게시판 등록 (0) | 2023.04.27 |
| [Django] 게시판 생성 (0) | 2023.04.27 |