django form模块实现form表单功能,为用户提交数据提供了一个接口。该模块下面的内容如下:
- jinja2 : 使用
jinja2
模板引擎实现的django form表单,里面是各种widgets的html页面模板,例如:input
、CheckBox
、date
、email
、file
等等。 - templates : 这个是django默认的模板引擎实现form表单。里面也是各种widgets的html页面模板,例如:
input
、CheckBox
、date
、email
、file
等等。 - init.py : 模块初始文件,主要实现导入功能。
"""
Django validation and HTML form handling.
"""
from django.core.exceptions import ValidationError # NOQA
from django.forms.boundfield import * # NOQA
from django.forms.fields import * # NOQA
from django.forms.forms import * # NOQA
from django.forms.formsets import * # NOQA
from django.forms.models import * # NOQA
from django.forms.widgets import * # NOQA
- boundfield.py : django form 表单字段,对应多值表单组件,例如:radio、CheckBox等。
- fields.py : django 表单字段,各种字段类型。
__all__ = (
'Field', 'CharField', 'IntegerField',
'DateField', 'TimeField', 'DateTimeField', 'DurationField',
'RegexField', 'EmailField', 'FileField', 'ImageField', 'URLField',
'BooleanField', 'NullBooleanField', 'ChoiceField', 'MultipleChoiceField',
'ComboField', 'MultiValueField', 'FloatField', 'DecimalField',
'SplitDateTimeField', 'GenericIPAddressField', 'FilePathField',
'SlugField', 'TypedChoiceField', 'TypedMultipleChoiceField', 'UUIDField',
)
- forms.py : django 表单模块,我们自定义的表单类,就继承它。
__all__ = ('BaseForm', 'Form')
- formsets.py : 管理django表单集。
- models.py :django ModelForm 实现模块。
__all__ = (
'ModelForm', 'BaseModelForm', 'model_to_dict', 'fields_for_model',
'ModelChoiceField', 'ModelMultipleChoiceField', 'ALL_FIELDS',
'BaseModelFormSet', 'modelformset_factory', 'BaseInlineFormSet',
'inlineformset_factory', 'modelform_factory',
)
- renderers.py : django 表单模板渲染模块,支持django默认模板和jinja2模板。
class DjangoTemplates(EngineMixin, BaseRenderer):
"""
Load Django templates from the built-in widget templates in
django/forms/templates and from apps' 'templates' directory.
"""
backend = DjangoTemplates
class Jinja2(EngineMixin, BaseRenderer):
"""
Load Jinja2 templates from the built-in widget templates in
django/forms/jinja2 and from apps' 'jinja2' directory.
"""
backend = Jinja2
- utils.py : django 表单模块使用到的工具类。
- widgets.py : django 表单组件模块实现。
__all__ = (
'Media', 'MediaDefiningClass', 'Widget', 'TextInput', 'NumberInput',
'EmailInput', 'URLInput', 'PasswordInput', 'HiddenInput',
'MultipleHiddenInput', 'FileInput', 'ClearableFileInput', 'Textarea',
'DateInput', 'DateTimeInput', 'TimeInput', 'CheckboxInput', 'Select',
'NullBooleanSelect', 'SelectMultiple', 'RadioSelect',
'CheckboxSelectMultiple', 'MultiWidget', 'SplitDateTimeWidget',
'SplitHiddenDateTimeWidget', 'SelectDateWidget',
)
更多Django教程
学习更多Django教程