2
我準備了一個關係模型。 我想獲得一個可以爲該表單創建用戶的表單。Django:創建有關係的表格
有人可以解釋我如何解決?
class UserProfile(models.Model):
user = models.OneToOneField(User, unique=True, primary_key=True)
website = models.URLField(null=True, blank=True)
accepted_rules = models.BooleanField(default=False)
accepted_rules_date = models.DateTimeField(auto_now_add=True)
class UserProfile(ModelForm):
class Meta:
model = UserProfile
@csrf_protect
def register(request):
if request.method == "POST":
form = UserProfile(request.POST or None)
if form.is_valid():
website = form.cleaned_data['website']
accepted_rules = form.cleaned_data['accepted_rules']
username = form.cleaned_data['username']
email = form.cleaned_data['email']
password = form.cleaned_data['password']
form.save()
print "All Correct"
return TemplateResponse(request, 'base.html', {
'form':form,
}
)
請注意'用戶名(用戶名,密碼,電子郵件)'用法不正確。你需要傳遞名爲參數的模型類,例如'username = username'來工作:通常'pk'是構造函數的第一個參數,因此實際上你得到一個User()w /'pk'設置爲username。此外,refs [post](http://stackoverflow.com/questions/10246463/password-hashers-setting-in-django/10246947#10246947),不要使用'password = ...',這已經隱式地在你的代碼中完成,用於'User'構造。 – okm 2012-04-21 11:32:36
@okm,絕對好,趕上。我正在混合User.objects.create_user(),仍然有錯誤的參數順序,並在上面編輯以反映正確的密碼設置。 – 2012-04-22 02:00:14
是否應該在視圖中處理關係?將所有這些封裝在表單中似乎更合乎邏輯。我還沒有看到有關它的許多文檔...... – unflores 2015-04-08 10:14:01