如何获取用户输入并使用它创建对象?

时间:2014-05-17 20:04:21

标签: python django django-forms

所以我有标签和输入设置供用户输入信息,但我如何获取该信息,并在预定义的模型下用它创建一个对象?

让我们说我有一个书模型。用户需要输入书名和作者。我怎样才能做到这一点?

1 个答案:

答案 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()