ModelForm 是 Django 提供的一个强大工具,它可以根据已定义的模型自动生成表单字段。这不仅简化了表单的创建过程,还确保了表单字段与数据库模型的一致性。本文将介绍 ModelForm 的基本用法及其优势。
首先,让我们看一下我们的用户模型定义:
- # models.py
- from django.db import models
-
- class UserInfo(models.Model):
- """用户表"""
- username = models.CharField(verbose_name="用户名", max_length=32)
- password = models.CharField(verbose_name="密码", max_length=64)
- age = models.IntegerField(verbose_name="年龄")
这个模型定义了一个简单的用户表,包含用户名、密码和年龄字段。
接下来,我们可以基于这个模型创建一个 ModelForm:
- # forms.py
- from django import forms
- from . import models
-
- class LoginModelForm(forms.ModelForm):
- class Meta:
- model = models.UserInfo
- fields = "__all__" # 使用模型的所有字段
- # 或者可以指定字段:fields = ["username", "password", "age"]