2015-04-01 47 views
1

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

+0

从哪里收集填充表单的数据? – devinformatics 2015-04-01 14:09:44

+0

表格中共有三个字段。姓名,电话号码和电子邮件,我为填充表单生成一些占位符值。我有我的数据。我如何填充它? – Sudhakar 2015-04-01 14:12:39

回答

2

如果你想创建一个模型实例(在这种情况下User)在从没有来自一些POST或GET数据,那么就不要使用表单数据的视图,而模型的API。

例如在User类提供这个辅助功能(例如,从资料为准):

from django.contrib.auth.models import User 

user = User.objects.create_user('john', '[email protected]', 'johnpassword') 

更多细节在这里: https://docs.djangoproject.com/en/1.7/topics/auth/default/#user-objects

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

这适用于任何模型类。如果您不知道客户端,则可以使用is动态创建访客用户,而您将以其他方式登录他/她。

当你决定你是否知道一个客户是否真的很有趣,但我认为它不在这个问题的范围内。

0

如果我明白你想达到什么目的,你可以创建一个form_data字典,然后实例化在字典中传递的表单。

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

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

相关问题