마이의 개발 블로그
close
프로필 배경
프로필 로고

마이의 개발 블로그

  • 전체보기 (128)
    • 개발지식 (57)
      • Web (8)
      • Spring (13)
      • Node.js (2)
      • Django (5)
      • Java (3)
      • JavaScript (2)
      • 자료구조 (3)
      • OS (3)
      • 디자인패턴 (2)
      • 인프라 (9)
      • 기타 (7)
    • 코딩테스트 (50)
      • 프로그래머스 (47)
      • 구름LEVEL (3)
    • 생각들 (14)
    • 팁 모음 (6)
  • 홈
  • 태그
  • 방명록

[Django] 뷰에서 폼의 모든 필드를 disabled로 변경하기

제출된 폼의 확인 페이지를 구현하는 경우 폼의 input들을 일괄적으로 readonly 또는 disabled로 변경해야할 때가 있다. 보통은 렌더링 이후에 자바스크립트로 input값들의 disabled 속성을 true로 만드는데(input.disabled = true), 장고에서는 뷰에서 템플릿으로 폼을 생성하여 보내는 중간에 폼의 필드 속성을 변경하여 처음부터 disabled 된 채로 출력하게 하는 방법도 있어 이를 소개하고자 한다. in views for field in form.fields: form.fields[field].widget.attrs['disabled'] = True 이렇게 하면 이 폼을 전달받은 템플릿에서 폼을 렌더링 할 때 이미 모든 input이 disabled된 채로 출력되어 별..

  • format_list_bulleted 개발지식/Django
  • · 2023. 1. 2.
  • textsms

[Django] 빈 폼, 미완성 폼 출력 컨트롤하기 (empty_permitted)

장고 프레임워크에서는 Formset을 활용하여 여러 개의 폼을 저장하고 관리할 수 있는데, 뷰에서 Formset을 생성하여 템플릿으로 보내면, 기본적으로 비어있는 폼 한 세트가 포함된다. 매번 한 개 이상의 폼이 저장되어야 하는 페이지라면 상관없으나, 상황에 따라 폼을 렌더링하지 않도록 컨트롤 할 수도 있어야 하는데 이때 폼의 empty_permitted 속성을 활용하여 문제를 해결할 수 있다(공식 문서와 검색을 통해 발견한 내용들은 대체로 empty_permitted를 폼 자체에 선언하여 사용하는 방식이였으나, 나의 경우에는 폼에 필수 입력값들이 있어 이를 장고 validator를 통해 validate하는 과정을 무조건 거쳐야 했고 필요에 따라 빈 폼을 렌더링하기도 해야했기에 필요에 따라 빈 폼을 렌더..

  • format_list_bulleted 개발지식/Django
  • · 2023. 1. 2.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 전체보기 (128)
    • 개발지식 (57)
      • Web (8)
      • Spring (13)
      • Node.js (2)
      • Django (5)
      • Java (3)
      • JavaScript (2)
      • 자료구조 (3)
      • OS (3)
      • 디자인패턴 (2)
      • 인프라 (9)
      • 기타 (7)
    • 코딩테스트 (50)
      • 프로그래머스 (47)
      • 구름LEVEL (3)
    • 생각들 (14)
    • 팁 모음 (6)
최근 글
인기 글
최근 댓글
태그
  • #스프링
  • #주니어
  • #개발자
  • #Java
  • #도커
  • #프로그래머스
  • #구현
  • #코딩테스트
  • #spring
  • #docker
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바