티스토리 뷰

Django

[Django] 16. Form에서 Widget 이용하기

개발자 뭄뭄 2022. 10. 11. 13:38
반응형
  • Widget을 사용하는 방법을 다 까먹어서 다시 정리하려고 쓰는 글!

1. Django의 2가지 HTML input 표현

  1. Form fields
    • forms.CharField() 같은 형태로 사용된다.
    • 입력에 대한 유효성 검사 로직을 처리
    • 템플릿에서 직접 사용됨
  1. Widgets
    • forms.CharField(widget=forms.Textarea)같은 형태로 사용된다.
    • HTML input 요소의 렌더링을 담당한다. ⇒ 유효성 검증과 아무런 관계가 없다!
    • Widget은 반드시 form fields에 할당 된다.

2. Widget 작성해보기

  • Form이든, ModelForm이든 동일한 형태로 작성한다.
# articles/forms.py

class ArticleForm(forms.ModelForm):
	# 이런식으로 각각의 model 요소에 대해서 따로 작성하는 것을 권장한다.
	title = forms.CharField(
		label = "제목",
		widget = forms.TextInput(
				attrs = {
						"class" : "my-title",
						"placeholder" : "Enter the title",
				}
		),
	)
	class Meta:
		model = Article
		fields = '__all__' 


Uploaded by N2T

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함