Django 25

‍박태우·2023년 5월 25일
0
post-custom-banner

Articleapp 구현

1. CreateView 와 DetialView 구현

1) models.py에 모델 생성하기

2) 1번의 model을 기반으로 하는 forms.py를 같은 articleapp 하위에 생성

3)

python manage.py makemigrations과
python manage.py migrate를 통해 마이그레이션 파일을 만들고 마이그레이트 실행

4) view를 만들기

(createview의 모습)

(detailview의 모습)

=> 앞서 다뤄봤던 profileapp의 view들과 구조가 비슷하므로 앞의 설명 참고



5) create.html과 detail.html 생성하기

(create.html의 모습, accountapp의 create.html에서 살짝 수정만 함)

(detail.html의 모습, 모델에서 생성했던 필드와 관련된 것들을 보여주는 역할을 하도록 수정함)

6) 네비게이션 바와 글쓰기 버튼 추가하기

(header.html에 Article 관련 링크를 생성한 모습)

(list.html 하위에 글쓰기 버튼 추가한 모습)

7) urls.py에 각 만든 view에 대한 경로 설정

8) 실행 결과

(Create Article 버튼을 누르면 위와 같은 창으로 이동)

9) 게시글 올리는 테스트 해보기

(이렇게 하고 제출을 누르면)

(요런 화면이 나온다.)

2. UpdateView 구현

1) articleapp 에 대한 decorator를 다른 곳에서 복사해서 가져온다.

2) updateview를 아래와 같이 생성하고
1에서 만든 이 데코레이터를 articledetailview의 데코레이터로 적용한다.

3) updateview url 추가

4) 수정 할 수 있는 버튼을 만들기 (detail.html에)

5) update.html 만들기

(create.html을 살짝 수정하고 pk 값을 같이 전달 함)

6) 테스트 해보기

(Update Article 활성화 된 모습)

7) 업데이트 해보기

(위와 같이 설정하고 제출 버튼 누르면)

(수정이 된다.)

3. DeleteView 구현

1) deleteview 만들기 (success_url 추가)

(이전과 비슷한 구조)

2) delete.html 만들기

(제목에 target_article의 제목을 같이 출력하며 이것을 삭제 하는 기능을 하는 delete.html 구현)

3) 지울 수 있는 버튼 활성화 하기

detail.html에 구현

4) url 추가

5) 실행 결과

(제출을 누르고 해당 pk이용하여 detail 페이지 들어가면 page not found로 삭제된 것을 알 수 있다.

Articleapp 오류수정

1: 전

2: 후

profile
잘 부탁드립니다.
post-custom-banner

0개의 댓글