创建一个django表单对象并保存它



我有一个Signup表单对象,用于创建注册页面。现在我正在尝试将访客用户功能添加到应用程序中。所以我想在用户访问页面时自动创建一个用户帐户。我正在尝试在后台创建表单对象,填充它并显式调用save方法。但我找不到从后端填充字段的方法。我怎样才能做到这一点?

如果您想在视图中使用非来自某些POST或GET数据的数据创建模型实例(在本例中为User),请不要使用表单,而是使用模型的API。

例如,User类提供了以下辅助函数(示例取自文档):

from django.contrib.auth.models import User
user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')

更多详细信息请点击此处:https://docs.djangoproject.com/en/1.7/topics/auth/default/#user-对象

在这里:https://docs.djangoproject.com/en/1.7/ref/contrib/auth/#django.contrib.auth.models.UserManager.create_user

这适用于任何模型类。如果你不了解客户,你可以使用is动态创建你的访客用户,而你会记录他/她。

当你决定是否认识客户时,这一部分实际上很有趣,但我认为这超出了这个问题的范围。

如果我理解你想要实现的目标,你可以创建一个form_data的字典,然后实例化在字典中传递的表单。

form_data = { "key1": val1, "key2": val2, "key3": val3}
form = MyForm(data=form_data)

如果使用基于类的视图,则可以在form_valid()方法中执行此操作。

最新更新