【发布时间】:2025-11-26 16:00:02
【问题描述】:
我是 Django 新手,无法理解模型和表单。谁能建议我与它们相关的差异和教程。
【问题讨论】:
标签: django django-models django-forms
我是 Django 新手,无法理解模型和表单。谁能建议我与它们相关的差异和教程。
【问题讨论】:
标签: django django-models django-forms
基本上,模型封装了有关某物的信息(即,它建模它),并存储在数据库中。例如,我们可以为一个人建模:
from django import models
class Person(models.Model):
name = models.CharField(max_length=100)
age = models.PositiveIntegerField()
height = models.FloatField()
weight = models.FloatField()
每当创建和保存模型实例时,Django 都会将其存储在数据库中以供您以后检索和使用。
另一方面,表单对应于 HTML 表单,即呈现给最终用户以填写一些数据的一组字段。表单可以完全独立于模型,例如搜索表单:
from django import forms
class SearchForm(forms.Form):
search_terms = forms.CharField(max_length=100)
max_results = forms.IntegerField()
提交后,Django 负责验证用户输入的值并将其转换为 Python 类型(例如整数)。然后,您所要做的就是编写对这些值执行某些操作的代码。
当然,如果您创建了模型,您通常会希望允许用户通过表单创建这些模型。不必复制所有字段名称并自己创建表单,Django 为此提供了一个快捷方式,ModelForm:
from django.forms import ModelForm
class PersonForm(forms.ModelForm)
class Meta:
model = Person
至于进一步阅读,我将从Django documentation 开始,其中包括有关创建和使用模型的教程,以及对表单的相当深入的了解。还有很多 Django 书籍和在线教程可以帮助您。
【讨论】:
http://docs.djangoproject.com/en/dev/intro/tutorial01/
它涵盖了一切,包括它们是什么、哲学是什么、抽象的是什么(原始 sql)。如果您有任何问题,请阅读并回来,因为它真的很棒。
http://docs.djangoproject.com/en/dev/intro/tutorial04/
表单框架只是 HTML 表单的助手。还有基于表单框架的ModelForms,将模型与表单联系在一起,但其核心是一个处理HTML表单显示、验证和处理的框架。
【讨论】: