[英]How add extra fields data to database with UserCreationForm Django?
我正在嘗試將UserCreationForm額外字段中的數據添加到數據庫中,我想將多個字段添加到UserCreationForm中並將其保存到數據庫中。 我在stackoverflow中看到了主題的其他示例,但是它不起作用。
這是我的代碼示例:(字段:“ agree_terms”或“ price”可以是其他任何內容)
forms.py
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
class UserRegisterForm(UserCreationForm):
email = forms.EmailField(widget = forms.EmailInput(attrs=
{'placeholder':'Email'}))
agree_terms = forms.BooleanField()
price = forms.DecimalField(decimal_places=2, max_digits=10000)
class Meta(UserCreationForm.Meta):
model = User
fields = UserCreationForm.Meta.fields + ('username', 'password1',
'email','password2','agree_terms','price')
views.py
@csrf_protect
def registers(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST)
print(form)
print(form.is_valid())
if form.is_valid():
form.save()
username = form.cleaned_data.get('username')
messages.success(request,'Conta criada {}'.format(username))
return redirect('login')
else:
form = UserRegisterForm()
return render(request,'header-login.html',{'form':form})
您是否還更改了User
模型以支持這些字段? 您還需要將它們添加到模型/表中。
雖然,我不建議直接在User
模型上堆積太多額外的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.