model.py
class Bumen(models.Model):
name=models.CharField(verbose_name='部门',max_length=255)
#需要显示这个类的时候,指定返回这个类的name字段。
def __str__(self):
return self.name
class UserInfo(models.Model):
name = models.CharField(max_length=255, unique=True, verbose_name='')
nk_name = models.CharField(max_length=255, verbose_name='',null=True, blank=True)
age = models.IntegerField(verbose_name='',null=True, blank=True)
shijian=models.TextField(verbose_name="时间")
bumen=models.ForeignKey(to=Bumen,verbose_name="部门",on_delete=models.DO_NOTHING)
views.py
from django import forms
from django.shortcuts import render,HttpResponse,redirect
# Create your views here.
from . import models
#使用modelform
class UserInfoForm(forms.ModelForm):
#xxx=forms.CharField(max_length=11)#自定义字段
class Meta:
model = models.UserInfo
fields = ['name','age','shijian','bumen']
def __init__(self,*args,**kwargs):
super(UserInfoForm,self).__init__(*args,**kwargs)
for name,filed in self.files.items():
if name=='password':
continue
filed.widget.attrs={"class","form-control"}
def index(request):
form=UserInfoForm()
return render(request,'userinfoform.html',{"form":form})
html页面
<div>
<form action="" method="post">
{% csrf_token %}
{% for field in form %}
{{ field.label }}:{{ field }}
<span style="color: red">{{ field.errors }}</span>
{% endfor %}
</form>
</div>