我试图结交客户:
models.py
class Customer(models.Model):
user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
name = models.CharField(max_length=20, null=True)
phone = models.CharField(max_length=10, null=True)
email = models.CharField(max_length=40, null=True)
使用此表格
forms.py
class CreateUserForm(UserCreationForm):
class Meta:
model = User
fields = ['username', 'email', 'password1', 'password2']
widgets = {
'username': forms.TextInput(attrs={'placeholder': 'username'}),
'email': forms.TextInput(attrs={'placeholder': 'email'}),
'password1': forms.TextInput(attrs={'placeholder': 'password'}),
'password2': forms.TextInput(attrs={'placeholder': 'repeat password'}),
}
html
<form method="post">
{% csrf_token %}
<ul class="list-group list-group-flush">
<li class="list-group-item"><p>{{ form.username }}</p></li>
<li class="list-group-item"><p>{{ form.email }}</p></li>
<li class="list-group-item"><p>{{ form.password1 }}</p></li>
<li class="list-group-item" style="border-bottom: 1px solid #e4e5e6;"><p>{{ form.password2 }}</p></li>
</ul>
<input class="btn btn-primary" type="submit" type="button" style="width: 27%;margin-left: 63%;margin-top: 4%;">
</form>
views.py
def register(request):
form = CreateUserForm()
if request.method == 'POST':
form = CreateUserForm(request.POST)
if form.is_valid():
user = form.save()
group = Group.objects.get(name='customer')
user.groups.add(group)
user.objects.create(
user=user,
name=user.username,
)
return redirect('/')
return render(request, 'register_page.html', {
'form': form,
})
但是当我单击“提交”时,没有任何反应,也没有创建记录。 请帮助:(
dasdsadasdasdasdfasewgaggiuhihqworeghoashgiiasigjioasigjiaipgjiaiasoopijpgjiaspjgpisapigaspj
答案 0 :(得分:0)
if form.is_valid():
user = form.save()
group = Group.objects.get(name='customer')
user.groups.add(group)
user.save()
Customer.objects.create(
user=user,
name=user.username,
)
return redirect('/')