一、Form组件(不推荐)
1、views.py
class MyForm(Form):
user = forms.CharField(widget=forms.Input) // widget=forms.Input就是一个插件标签在模板中生成一个input标签
pwd = forms.CharField(widget=forms.Input)
email= forms.CharField(widget=forms.Input)
def user_add(request):
if request.method == "GET":
form = MyForm()
return render(request, "user_add.html", {"form": form})
2、 use_add.thml
<form method="post">
{{ form.user }}
{{ form.pwd }}
{{ form.email }}
<!--<imput type="text" placeholder="姓名" name="user" /> // 这是传统写法-->
</form>
3、简化上面use_add.thml
<form method="post">
{% for field in form %}
{{ field }}
{% endfor %}
</form>
二、modelform组件(推荐)
1、models.py
class UserInfo(models.Model);
name = models.CharField(verbose_name="姓名", max_length=16)
password = models.CharField(verbose_name="密码", max_length=64)
age = models.IntegerField(verbose_name="年龄")
account = models.DecimalField(verbose_name="账户余额", max_digits=10, decimal_places=2, default=0)
2、views.py
from django import forms # 引入forms
class UserModelForm(forms.ModelForm):
class Meta:
model = models.UserInfo // models.py文件下的UserInfo类
fields = ["name", "password", "age"] # 以列表的形式写入字段
def user_model_form_add(request):
form = UserModelForm()
return render(request, "user_model_form_add.html", {"form": form})
三、ModelForm实践
总结:
四、python约束定义的性别(modelform)
五、一个表关联另一个表的id属性 ,让它显示id对应的对象里面的数据
问题:它显示的是对应id的每一个对象
解决:
六、标签添加类