1.在app文件夹下创建forms.py文件,文件名称固定不可修改
创建自定义form表单对象
from django import forms
class CustomForm(forms.Form):
ba=forms.IntegerField(label='数字',widget=forms.TextInput(attrs={'placeholder':'输入数字a','name':'ba','class':'number_A'}))
# label参数对应的就是<label for="a">数字a:</label>
# widget表示控件,input就是一个控件。如果默认控件提供的功能不够用,那么可以重新定制控件。比如input控件默认没有显示placeholder。
# xxxField()和xxxInput()两者进行区分:
# xxxField()决定了输入框中能输入的数据类型。
# 而xxxInput()一般和xxxField()是对应的,它xxxInput()一般是用来重写控件的属性
# required表示该输入框的值是否是必须填写的,默认为True。
2.自定义完成后在视图函数,模板文件中使用
{# 模板文件#}
<form action="{% url 'form' %}" method="post">
{% csrf_token %}
{{ form }}
<button type="submit">转换</button>
{% if resultf %}
16进制转换结果:{{ resultf }} <br>
{% endif %}
</form>
视图函数
def form(request):
#在使用cleaned_data之前,一定要通过is_valid()判断数据的合法性。否则cleaned_data这个字典就是不存在的。只有通过is_valid()验证之后,才会生成这个cleaned_data字典。
form=CustomForm(data=request.POST)
if form.is_valid():
a = form.cleaned_data['ba']
print(a,type(a))
result = hex(a).lstrip('0x')
return render(request, 'index.html', {'form':form,'resultf': result})
是不是很简单很方便呢?