对于我的项目(Django 1.5),我设置了两个应用程序,一个称为帐户来处理身份验证,另一个称为配置文件来处理所有配置文件操作。我为帐户应用程序构建了一个自定义用户模型,设置如下:
class CustomUser(AbstractBaseUser):
email = models.CharField()
username = models.CharField
is_staff...
对于个人资料应用程序:
class UserProfile(models.Model):
user = models.OneToOneField(settings.AUTH_USER_MODEL)
city = models.CharField()
state = models....
我之所以这样设置,是因为我不希望在创建用户时实例化配置文件。我希望它在第一次登录时创建。
我正在尝试创建一个 modelForm 来帮助创建 UserProfile。我对如何获取当前登录的用户以便将其保存到 OneToOneField 感到有些困惑。我知道这与表单的 init 方法有关,但我查看了文档,似乎无法找到明确的解决方案。请帮忙!!所以我创建了一个表格,如:
class BasicProfile(forms.ModelForm):
class Meta:
model = UserProfile
exclude = ['foo']
我的问题:如何在表单中输入用户?我只是使用:
self.user = request.user