html form 필드에 다양한 속성값을 주고 싶다...이건 기본이다.
장고 폼을 쓰면서 이런 속성을 쉽게 줄 수 있는 방법은 다양하게 있겠지만 그냥 아래 글 처럼 속성을 주는 것이 편할 듯
이글을 참고하시길 => Django Form에서 DOM class 설정 등의 front-end 조작법
# myapp/forms.py
class MyForm( forms.ModelForm ):
class Meta:
model = MyModel
def __init__( self, *args, **kwargs ):
super( MyForm, self ).__init__( *args, **kwargs )
self.field[ 'my_field' ].widget.attrs.update( {
'class': 'form-control',
'id': 'form-id',
'placeholder': 'Do not use numbers.' } )
출처: https://dgkim5360.tistory.com/entry/django-form-style-manipulation?category=892553 [개발새발로그]
그리고, 기존에 하던 방식 그냥 Meta 클래스에 기록해 둬도 되네
class MyForm( forms.ModelForm ):
class Meta:
model = MyModel
fields = ["company"]
labels = {
"company": _("거래처 선택"),
}
widgets = {
"company": forms.Select(attrs={"class": "form-control", "placeholder": "", "style":"width: 100%;"}),
}
그리고, 추가로 속성값 없이 속성 키 만 있는 것은 그냥 True, False 로 주면 된다.
"Required":True
이런식으로 속성에 주면 실제 html 에는
<input .... required> 이렇게 나오게 된다.
ㄲㅡㅌ