在DJango表单中手动添加字段



我正在django中创建一个登录注册系统,我希望我的表单数据保存在内置的"用户";桌子和我的定制";编码器";桌子在一起。我的表单有6-7个字段,我想插入自定义";编码器";桌子但我只想插入";用户名";以及";密码";在";用户";桌子我不知道怎样才能分开";用户名";以及";密码";从";FORM"。这是我的代码

def f1(request):
form = codersform()
form2 = User()
if request.method == 'POST':
form = codersform(request.POST)
if form.is_valid:
form.save()
form2 = coders.objects.filter('name', 'pasw')#Getting Error
form2.save()#in these two part
user = form.cleaned_data.get('name')
messages.success(
request, "Account Created Successfully For " + user)
return redirect('login')
else:
messages.error(request, "Please Fill Out All Fields Correctly")
return render(request, 'signup.html', {'form': form})

表单代码

<form action="" method="POST"  class="register-form" id="register-form">
{% csrf_token %}
<div class="form-group">
<label for="name"><i class="zmdi zmdi-account material-icons-name"></i></label>
{{form.name}}
 
</div>
<div class="form-group">
<label for="matid"><i class="zmdi zmdi-account-box"></i></label>
{{form.matid}}

</div>
<div class="form-group">
<label for="phone"><i class="zmdi zmdi-phone"></i></label>
{{form.phone}}
</div>
<div class="form-group">
<label for="Semester"><i class="zmdi zmdi-star"></i></label>
{{form.semester}}
</div>
<div class="form-group">
<label for="Cf"><i class="zmdi zmdi-code"></i></label>
{{form.Cf}}
</div>
<div class="form-group">
<label for="email"><i class="zmdi zmdi-email"></i></label>
{{form.email}}
</div>
<div class="form-group">
<label for="pass"><i class="zmdi zmdi-lock"></i></label>
{{form.pasw}}
</div>
<div class="form-group">
<input type="checkbox" name="agree-term" id="agree-term" class="agree-term" />
<label for="agree-term" class="label-agree-term"><span><span></span></span>I agree all statements in  <a href="#" class="term-service">Terms of service</a></label>
</div>
<div class="form-group form-button">
<input type="submit" name="signup" id="signup" class="form-submit" value="Register"/>
</div>
</form>

谢谢:(

我在表单字段中看不到用户名字段,也许您使用name作为用户名。。

要创建用户对象,您需要提供用户对象的所有必填字段

试试这个修改后的代码:

def f1(request):
form = codersform()
if request.method == 'POST':
form = codersform(request.POST)
if form.is_valid:
form.save()   
User.objects.create(username=form.cleaned_data['name'],password=form.cleaned_data['pasw']
messages.success(
request, "Account Created Successfully For " + user)
return redirect('login')
else:
messages.error(request, "Please Fill Out All Fields Correctly")
return render(request, 'signup.html', {'form': form})

最新更新