所以我有标签和输入设置供用户输入信息,但我如何获取该信息,并在预定义的模型下用它创建一个对象?
让我们说我有一个书模型。用户需要输入书名和作者。我怎样才能做到这一点?
答案 0 :(得分:3)
您可以轻松地为特定模型创建表单并保存相应的对象。来自ModelForm
Django documentation:
如果您正在构建一个数据库驱动的应用程序,那么您可能会拥有与Django模型紧密相关的表单。例如,您可能有一个BlogComment模型,并且您想要创建一个允许人们提交注释的表单。在这种情况下,在表单中定义字段类型将是多余的,因为您已经在模型中定义了字段。
快速举例
from django.forms import ModelForm
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=128)
author = models.CharField(max_length=128)
pub_date = models.DateTimeField(auto_now_add=True)
# ...
# The form class.
class BookForm(ModelForm):
class Meta:
model = Book
fields = ('title', 'author', )
# Use your form in a template and then in the view:
f = BookForm(request.POST)
if f.is_valid():
new_book = f.save()