Django CRUD - 1. Read

Mingi Shin·2023년 2월 9일
0

CRUD

목록 보기
2/11

메인 페이지를 보면 제목에만 링크를 달아 놓은 상태다.
이제 각각의 학기에도 링크를 달아서 localhost:포트넘버/sjuu/read/<각각의 id> 페이지로 넘어가 title과 body를 볼 수 있도록 할 것이다.


1. URL

링크를 달아보자

짠. 이제 2018-1(1-1)을 누르면 /sjuu/read/1/로 이동할 것이다.

매핑이 잘 된 못브

/read/로 이동하는 게 아니라 뒤에 숫자가 딸려 오는 걸 보니 매핑을 다시 해준다.


2. views

# 이전 views.read

def read(request):
	return HttpResponse("Read Page")
# 수정한 views.read

def read(request, id):
    global semesters
    article = ''
    for i in semesters:
        if i["id"] == int(id):
            article = f'<h2>{i["title"]}</h2>{i["body"]}'
            break
        
    return HttpResponse(baseHTML(article))

뭐가 좀 많이 추가 됐다.
1. url 매핑의 <id>를 함수 인자에 추가해서 받는다. for문을 돌면서 id가 일치하는 딕셔너리를 만나면 article에 저장한다.
2. return으로 baseHTML request에 article을 요청한다.

  1. request를 출력해준다. (그 사이에 sem이랑 request에 <ul>태그 해줌). read 함수 기준으로 request는 read의 article일 것이다.

짠 ~

3. 페이지 요청 흐름 정리

  • 링크 생성
  • 링크에 대한 URL 매핑
  • URL 매핑시 참조할 함수 작성
  • 함수의 리턴값이 페이지에 응답
profile
@abcganada123 / git:ABCganada

0개의 댓글