django的model、form.py、内置widgets、html表单相关

一般来说我们可以使用modelForm来使其生成对应的表单,如:
class ArticleForm(ModelForm):
...     class Meta:
...         model = Article
...         fields = ['pub_date', 'headline', 'content', 'reporter']
或者
class ArticleForm(ModelForm):
...     class Meta:
...         model = Article
...         exclude = ['pub_date', 'headline', 'content', 'reporter']
以下为model和form对应表: forms.py
1. AutoField->NA
2. BigIntegerField->整数-9223372036854775808~ 9223372036854775807.
3. BooleanField->BooleanField
4. CharField->CharField with max_length set to the model field’s max_length
CommaSeparatedIntegerField  CharField
5. DateField->DateField
6. DateTimeField-> DateTimeField
7. DecimalField-> DecimalField
8. EmailField-> EmailField
9. FileField-> FileField
10. FilePathField-> FilePathField
11. FloatField-> FloatField
12. ForeignKey-> ModelChoiceField
13. ImageField-> ImageField
14. IntegerField-> IntegerField
15. IPAddressField-> IPAddressField
16. GenericIPAddressField-> GenericIPAddressField
17. ManyToManyField-> ModelMultipleChoiceField
18. NullBooleanField-> NullBooleanField
19. PositiveIntegerField-> IntegerField
20. PositiveSmallIntegerField-> IntegerField
21. SlugField-> SlugField
22. SmallIntegerField-> IntegerField
23. TextField-> CharField with  widget=forms.Textarea
24. TimeField-> TimeField
25. URLField-> URLField
以下为form对应HTML

1.Widgets handling input of text:文字输入

TextInput: <input type="text" ...>
NumberInput: <input type="number" ...>
EmailInput: <input type="email" ...>
URLInput:<input type="url" ...>
PasswordInput:<input type='password' ...>
HiddenInput:<input type='hidden' ...>
DateInput:<input type='text' ...>
DateTimeInput:<input type='text' ...>
TimeInput:<input type='text' ...>
Textarea:<textarea>...</textarea>

2.Selector and checkbox widgets:选择器

CheckboxInput:<input type='checkbox' ...>
Select: <select><option ...>...</select>
NullBooleanSelect
SelectMultiple:<select multiple='multiple'>...</select>
RadioSelect:
<ul>
  <li><input type='radio' name='...'></li>
  ...
</ul>
必须放在li中,或者用以下方法:
{% for radio in myform.beatles %}
<div class="myradio">
    {{ radio }}
</div>
{% endfor %}
CheckboxSelectMultiple:
<ul>
  <li><input type='checkbox' name='...' ></li>
  ...
</ul>

3.File upload widgets:文件上传

FileInput:<input type='file' ...>
ClearableFileInput:<input type='file' ...>

4.Composite widgets:混合

MultipleHiddenInput:多个<input type='hidden' ...>
SplitDateTimeWidget
SplitHiddenDateTimeWidget
SelectDateWidget
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值