今天的Django教训汇总:建立表单的标准流程-20210401

建立表单的标准流程

  • 第一步:建立models.py的模型,形成与forms、views的对应关系。
    #models.py
class Employee(models.Model):
    eid = models.CharField(max_length=200,default='1')
    name = models.CharField(max_length=200,null=True)
    dept_code = models.CharField(max_length=200,null=True)
    GENDER_CHOICES = (
        (u'Male', u'Male'),
        (u'Female', u'Female'),
    )
    gender = models.CharField(max_length=200,choices=GENDER_CHOICES,null=True)
    on_board = models.BooleanField(null=True)
    Range_CHOICES = (
        (u'R1', u'R1'),
        (u'R2', u'R2'),
        (u'R3', u'R3'),
        (u'R4', u'R4'),
    )
    Range = models.CharField(max_length=200,choices=Range_CHOICES,null=True)

    def __str__(self):
        return self.name
  • 第两步:比照models的属性,建立forms。
    #修改forms.py
class EmployeeForm(forms.Form):
    eid = forms.CharField()
    name = forms.CharField()
    dept_code = forms.CharField()
    gender = forms.CharField()
    on_board = forms.BooleanField()
    Range = forms.CharField()
  • 第三步:通过views.py来建立models和form的关联。
    #views.py
# 建立表单页for employee
def Employee_form(request):
    if request.method == 'POST' and request.POST:
        form = EmployeeForm(data=request.POST)
        if form.is_valid():
            eid = form.cleaned_data['eid']
            name = form.cleaned_data['name']
            dept_code = form.cleaned_data['dept_code']
            gender = form.cleaned_data['gender']
            on_board = form.cleaned_data['on_board']
            Range = form.cleaned_data['Range']
            # 表中添加数据
            Employee.objects.create(eid=eid,name=name,dept_code=dept_code,gender=gender
                                    ,on_board=on_board,Range=Range)
            return HttpResponseRedirect('/admin/')
        else:
            form = EmployeeForm()
    else:
        form = EmployeeForm()
    return render(request, 'myclass/Employee_form.html',context={'form':form})
  • 第四步:修改urls,来映射views。
    #myclass/urls.py
urlpatterns = [
    path('Employee_form/',views.Employee_form,name='Employee_form'),
]
  • 第五步:填写表单,检查数据是否提交至admin。若有错误,则需重新检查第一步到第四步。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值