바뀜

둘러보기로 가기 검색하러 가기
746 바이트 추가됨 ,  2021년 6월 25일 (금) 10:48
19번째 줄: 19번째 줄:  
폼을 사용하기 위해선 폼 클래스를 정의해야 한다.
 
폼을 사용하기 위해선 폼 클래스를 정의해야 한다.
   −
일반적으로 앱의 forms.py 안에 정의한다.<syntaxhighlight lang="python">
+
 
 +
 
 +
일반적으로 앱의 forms.py 안에 정의한다.
 +
{| class="wikitable"
 +
|+
 +
!
 +
!일반폼
 +
!모델폼
 +
|-
 +
|개요
 +
|
 +
|모델에서 사용하는 제약 그대로 사용할 경우 사용한다.
 +
|-
 +
|기본형태
 +
|
 +
|<syntaxhighlight lang="python">
 
from django import forms
 
from django import forms
 
from .models import 모델  # 폼을 적용할 모델을 불러온다.
 
from .models import 모델  # 폼을 적용할 모델을 불러온다.
29번째 줄: 44번째 줄:  
         # fields에 '__all__'을 따옴표까지 함께 넣어주면 모든 필드를 가져오라는 명령이 된다.
 
         # fields에 '__all__'을 따옴표까지 함께 넣어주면 모든 필드를 가져오라는 명령이 된다.
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
|-
 +
|
 +
|
 +
|
 +
|}
    
=== 폼필드 제약 ===
 
=== 폼필드 제약 ===
41번째 줄: 61번째 줄:     
폼필드 안의 옵션에 속성=forms.CharFiedl(....., widget={'class'='클래스값', ...}) 와 같이 옵션을 추가해주면 된다.(역시, HTML에서 입력할 수 있기 때문에 분업을 하는 경우 굳이 사용하진 않는다.)
 
폼필드 안의 옵션에 속성=forms.CharFiedl(....., widget={'class'='클래스값', ...}) 와 같이 옵션을 추가해주면 된다.(역시, HTML에서 입력할 수 있기 때문에 분업을 하는 경우 굳이 사용하진 않는다.)
 +
 +
== 메타클래스 ==
 +
 +
===폼 라벨 붙이기===
 +
모델에서 사용한 속성 이름이 웹페이지에 그대로 드러나는데, 내부에서 처리하는 변수명과 외부에 드러나는 라벨이 달라야 할 때가 있다. 이 역시 form을 수정함으로써 기능한다.<syntaxhighlight lang="python">
 +
class QuestionForm(forms.ModelForm):#모델폼 상속
 +
    class Meta:
 +
        labels = {  # 이 속성의 추가로 나타내는 내용을 표시할 수 있음.
 +
            'subject': '제목',
 +
            'content': '내용',
 +
        }
 +
 +
</syntaxhighlight>
익명 사용자

둘러보기 메뉴