120 likes | 456 Views
VIDA. Training django Form. I- FORM. 1) Giới thiệu : Dùng thư viện form của django ta có thể : Sinh form tự động từ wigets Validate data thông qua validation rules Hiển thị lại form trong trường hợp validate error Chuyển dữ liệu trong form sang python datatype. I- FORM.
E N D
VIDA Training djangoForm
I- FORM • 1) Giớithiệu: • Dùngthưviện form củadjango ta cóthể: • Sinhform tựđộngtừwigets • Validate data thôngqua validation rules • Hiểnthịlại form trongtrườnghợp validate error • Chuyểndữliệutrong form sang python datatype
I- FORM • 2) Khaibáo: • Djangocungcấp 2 đốitượng form: • Form thường • Import: from django import forms • Tạo form: class ContactForm(forms.Form) • Tạo filed: name_field_form = forms.FieldType(param1, param2…) • Sửdụng function clean_<name_field_form> nếumuốn validate thêmcho field đó
I- FORM • 2) Khaibáo: • Djangocungcấp 2 đốitượng form: • ModelForm: (Djangocungcấpđốitượngmodelformđểtậndụngkhaibáotừ model) • Import: from django.forms import ModelForm • Tạo form: class <tên Form>(ModelForm ), trong class Form khaibáothêm class meta chỉrõ mode = <ten model thamchieu>
I- FORM • 3) Sửdụng: • Tạo file forms.py • Import thưviện • Khaibáo form, field • Set rule
I- FORM • 1) Sửdụng: • Validate rule: • Sửdụngfunction clean_<ten field> đểvalidate chochính field đượcxét, nếucólỗisẽđược output thông qua forms.ValidationError
I- FORM • 3) Sửdụng: • Sửdụng form trong views.py • Tạo instance form • Check valid
I- FORM • 3) Sửdụng: • Sửdụng form trong template • form.as_psẽsinh form bằngthẻ <p> • Form.as_tablesẽsinh form trongthẻ <table> • Cóthể custom lại form trong template
I- FORM • 3) Sửdụng: • Sửdụng form trong template • Custom:
I- FORM • 3) Sửdụng: • Fieldtypesửdụngtrong form: • BooleanField (CheckboxInput) • CharField(TextInput) • ChoiceField(Select) • TypedChoiceField( Select) • DateField(DateInput) • DateTimeField(DateTimeInput) • DecimalField(TextInput) • EmailField( TextInput) • FileFiled(ClearableFileInput) • FilePathField( Select) • FloatField( TextInput) • ImageField( ClearableFileInput)
I- FORM • 3) Sửdụng: • Fieldtypesửdụngtrong form: • IntegerField(TextInput) • IPAddressField(TextInput) • GenericIPAddressField(TextInput) • MultipleChoiceField(SelectMultiple) • TypedMultipleChoiceField(SelectMultiple) • NullBooleanField(NullBooleanSelect) • RegexField(TextInput ) • SlugField(TextInput) • TimeField(TextInput) • URLField(TextInput) • ComboField(TextInput) • MultiValueField(TextInput)
I- FORM • 3) Sửdụng: • Fieldtypesửdụngtrong form: • SplitDateTimeField(SplitDateTimeWidget) • ModelChoiceField(Select) • ModelMultipleChoiceField(SelectMultiple)