Django笔记10--Django Modelform

models.py中对应的表class

class user_list(models.Model):
    user_name=models.CharField(unique=True, max_length=40)
    full_name=models.CharField(unique=True, max_length=40)
    email_address=models.CharField(max_length=40)
    dept_list=models.ForeignKey('dept_list', on_delete=None, to_field='id', )
    def __str__(self):
         return self.full_name

class pc_list(models.Model):
    host_name=models.CharField(max_length=64)
    service_tag=models.CharField(max_length=45)
    host_type=models.CharField(max_length=45)
    host_model=models.CharField(max_length=45)
    host_spec=models.CharField(max_length=45)
    price=models.FloatField(default=0)
    receive_date=models.DateField(auto_now_add =False, default='2018-01-01')
    user_list = models.ForeignKey('user_list', to_field='id', related_name='user_list_full_name', on_delete=None, )
    seat_no = models.IntegerField(default=14000)
    host_status=models.CharField(max_length=45)
    studio = models.CharField(max_length=45, default='-')
    location=models.CharField(max_length=45, default='CNSHZ1')
    asset_code = models.IntegerField(default=1)
    remark=models.TextField(max_length=200, default='-')


新建一个form.py, 内容如下:

from django import forms
from django.forms import fields
from deviceman.models import user_list, pc_list,dept_list


class UserModelForm(forms.ModelForm):

    class Meta:
        model = user_list    # 与models建立了依赖关系
        fields = "__all__"

class PcModelForm(forms.ModelForm):

    class Meta:
        model = pc_list    # 与models建立了依赖关系
        fields = "__all__"

在views.py里新建对应的def

def usermodelform_test(request):
    if request.method == "GET":
        obj = UserModelForm()
        return render(request, "userform.html", {'obj': obj})
    elif request.method == "POST":
        obj = UserModelForm(request.POST)
        print(obj.is_valid())  # 这是方法,别忘记了加括号
        print(obj.cleaned_data)
        print(obj.errors)
        return render(request, "userform.html", {'obj': obj})


def pcmodelform_test(request):
    if request.method == "GET":
        obj = PcModelForm()
        return render(request, "userform.html", {'obj': obj})
    elif request.method == "POST":
        obj = PcModelForm(request.POST)
        print(obj.is_valid())  # 这是方法,别忘记了加括号
        print(obj.cleaned_data)
        print(obj.errors)
        if obj.is_valid():
            obj.save()
        else:
            print(mf.errors.as_json())
        return render(request, "userform.html", {'obj': obj})
模板如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>django model form</title>

</head>
<body>


<body>
    <form action="pcmodelform" method="POST" novalidate="novalidate">
        {% csrf_token %}
        {{ obj.as_p }}

        <input type="submit" value="提交">
    </form>
</body>



</body>
</html>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值