SoShin_
소신
SoShin_
전체 방문자
오늘
어제
  • 분류 전체보기
    • Study
      • HTML | CSS
      • JavaScript
      • Django
      • Python
      • Flask
      • Git
      • Project
      • 이것저것
      • 코딩테스트
      • NestJS
    • Review
      • Book
      • Movie & Drama

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • node.js
  • 플라스크
  • 유저기능
  • openpyxl
  • orm
  • 장고
  • Django allauth
  • SQLite
  • 위도경도
  • 영화리뷰
  • SQLAlchemy
  • 영화추천
  • Django 유효성 검증
  • 자바스크립트
  • 장고 유저기능
  • 장고 allauth
  • db
  • Python
  • 코딩테스트
  • FLASK
  • MongoDB
  • Django
  • JavaScript
  • 문제풀이
  • js
  • KakaoAPI
  • 파이썬
  • allauth
  • flask orm
  • 장고 제네릭뷰

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
SoShin_

소신

Study/Django

[Django] Django 클래스형 뷰 ( Generic View- UpdateView) # 5

2021. 12. 14. 15:41
반응형

2021.12.14 - [Study/Django] - [Django] Django 클래스형 뷰 ( Generic View- DetailView) # 4

 

[Django] Django 클래스형 뷰 ( Generic View- DetailView) # 4

2021.12.14 - [Study/Django] - [Django] Django 클래스형 뷰 ( Generic View- ListView) # 3 [Django] Django 클래스형 뷰 ( Generic View- ListView) # 3 2021.12.14 - [Study/Django] - [Django] Django 클래스..

programmers-sosin.tistory.com

이번 게시글에선 UpdateView를 사용해볼 건데요.

이전에 사용했던 것들과 별로 다르지 않아 이전 것을 사용해보셨다면 아주 쉽게 사용할 것입니다.

아래 코드는 함수형 뷰로 구현한 UpdateView입니다.

def page_update(request, page_id):
    page = Page.objects.get(id=page_id)
    if request.method == 'POST':
        page_form = PageForm(request.POST, instance=page)
        if page_form.is_valid():
            page_form.save()
            return redirect('page-detail', page_id=page.id)
    else:
        page_form = PageForm(instance=page)
    return render(request, 'diary/page_form.html', {'form': page_form})

그리고 아래 코드가 제네릭 뷰의 UpdateView를 사용한 것입니다.

class PageUpdateView(UpdateView):
    model = Page
    form_class = PageForm
    pk_url_kwarg = 'page_id'

    def get_success_url(self):
        return reverse('page-detail', kwargs={'page_id': self.object.id})

model = <사용할 모델>

form_class = <사용할 Form>

template_name = <랜더링 할 Template>

pk_url_kwarg = <데이터를 조회할 조건(key)>

def get_success_url(self): 
	return reverse('<이동할 URL>', kwargs={'<URL에 전달할 키워드>': <전달할 값>})
반응형

'Study > Django' 카테고리의 다른 글

[Django] 장고 유저 기능 구현하기 #1 (allauth와 contrib.auth의 차이)  (0) 2021.12.14
[Django] Django 클래스형 뷰 ( Generic View- DeleteView) # 6  (0) 2021.12.14
[Django] Django 클래스형 뷰 ( Generic View- DetailView) # 4  (0) 2021.12.14
[Django] Django 클래스형 뷰 ( Generic View- ListView) # 3  (0) 2021.12.14
[Django] Django 클래스형 뷰 ( Generic View - CreateView) # 2  (0) 2021.12.14
    'Study/Django' 카테고리의 다른 글
    • [Django] 장고 유저 기능 구현하기 #1 (allauth와 contrib.auth의 차이)
    • [Django] Django 클래스형 뷰 ( Generic View- DeleteView) # 6
    • [Django] Django 클래스형 뷰 ( Generic View- DetailView) # 4
    • [Django] Django 클래스형 뷰 ( Generic View- ListView) # 3
    SoShin_
    SoShin_
    직접 쓰는 개발 블로그

    티스토리툴바